cs 185c: the history of computing september 21 class meeting department of computer science san jose...
Post on 15-Jan-2016
215 views
TRANSCRIPT
CS 185C: The History of ComputingSeptember 21 Class Meeting
Department of Computer ScienceSan Jose State University
Fall 2011Instructor: Ron Mak
www.cs.sjsu.edu/~mak
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
2
Konrad Zuse, 1910-1995 Built the Z1, 1935-1938
world’s first program-controlled computer
1936 patent application foreshadows the von Neumann architecture
1941: completes Z3 world’s first fully functional
programmable computer fortunately for WW II allies,
not fully supported by Hitler
1945: describes Plankalkül world’s first high-level
programming language “formal system for planning”
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
3
Plankalkül
(1) proc Sa = ([0 : either] bits V0) bool : begin(2) bits Z0 := V0[0];(3) bool R := Az(Z0);(4) int eps := 0; if Kla(Z0) then eps := 1 fi;(5) for i to upb V0 while R do begin bits Z1 := V0[i];(6) R := R ^ Sq(Z0, Z1);(7) if Kla(Z1) then eps +:= 1 fi; (8) if Klz(Z1) then eps -:= 1 fi; (9) R := R ^ eps >= 0;(10) Z0 := Z1 end;(11), (12) R ^ Sz(Z0) ^ eps = 0 end
Plankalkül Algol 68 equivalent
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
4
German Enigma Machines
Enigma machines Used by the Germans
to encrypt messagesduring WW II
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
5
British Colossus Machines
Colossus machines Built by the British to decrypt Enigma messages
Bletchley Park
Vacuum tubes Paper tape 1941: Mark 1 1944: Mark 2
Kept a secretfor many yearsafter the war. ordered destroyed by Winston Churchill after the war
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
6
Moore School of Electrical Engineering
University of Pennsylvania
Birthplace of the modern computer industry
ENIAC Electronic Numerical Integrator
and Computer First general-purpose
Turing-complete digital electronic computer
built 1943-1946 not a stored program
computer EDVAC
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
7
Moore School Lectures
First computer course (“Moore School Lectures”)
July 8 – August 30, 1946
Instructors included J. Presper Eckert and John Mauchly
28 students each a veteran mathematician or engineer several returned home to design their own computers
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
8
Moore School Lectures 1 George Stibitz Introduction to the Course on Electronic Digital Computers 2 Irven Travis The History of Computing Devices 3 J.W. Mauchly Digital and Analogy Computing Machines 4 D.H. Lehmer Computing Machines for Pure Mathematics 5 D.R. Hartree Some General Considerations in the Solutions of
Problems in Applied Mathematics 6 H.H. Goldstine Numerical Mathematical Methods I 7 H.H. Goldstine Numerical Mathematical Methods II 8 A.W. Burks Digital Machine Functions 9 J.W. Mauchly The Use of Function Tables with Computing Machines10 J.P. Eckert A Preview of a Digital Computing Machine11 C.B. Sheppard Elements of a Complete Computing System12 H.H. Goldstine Numerical Mathematical Methods III13 H.H. Aiken The Automatic Sequence Controlled Calculator14 H.H. Aiken Electro-Mechanical Tables of the Elementary Functions15 J.P. Eckert Types of Circuit -- General16 T.K. Sharpless Switching and Coupling Circuits
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
9
Moore School Lectures17 A.W. Burks Numerical Mathematical Methods IV18 H.H. Goldstine Numerical Mathematical Methods V19 Hans Rademacher On the Accumulation of Errors in Numerical Integration on
the ENIAC
20 J.P. Eckert Reliability of Parts21 C.B. Sheppard Memory Devices22 J.W. Mauchly Sorting and Collating23 J.P. Eckert
C.B. Sheppard Adders24 J.P. Eckert Multipliers25 J.W. Mauchly Conversions between Binary and Decimal Number Systems26 H.H. Goldstine Numerical Mathematical Methods VI27 Chuan Chu Magnetic Recording28 J.P. Eckert Tapetypers and Printing Mechanisms29 J.H. Curtiss A Review of Government Requirements and Activities in the
Field of Automatic Digital Computing Machinery30 H.H. Goldstine Numerical Mathematical Methods VII31 A.W. Burks Numerical Mathematical Methods VIII32 Perry Crawford Application of Digital Computation Involving Continuous
Input and Output Variables
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
10
Moore School Lectures33 J.P. Eckert Continuous Variable Input and Output Devices34 S.B. Williams Reliability and Checking in Digital Computing Systems35 J.P. Eckert Reliability and Checking36 C.B. Sheppard Code and Control -- I37 J.W.Mauchly Code and Control -- II Machine Design and Instruction
Codes38 C.B. Sheppard Code and Control -- III39 C.N. Mooers Code and Control -- IV Examples of a Three-Address
Code and the Use of 'Stop Order Tags'40 J. von Neumann New Problems and Approaches41 J.P. Eckert Electrical Delay Lines42 J.P. Eckert A Parallel-Type EDVAC43 Jan Rajchman The Selectron44 C.N. Mooers Discussion of Ideas for the Naval Ordnance Laboratory
Computing Machine45 J.P. Eckert A Parallel Channel Computing Machine46 C.B. Sheppard A Four-Channel Coded-Decimal Electrostatic Machine47 T.K. Sharpless Description of Serial Acoustic Binary EDVAC48 J.W.Mauchly Accumulation of Errors in Numerical Methods
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
11
John von Neumann, 1903-1957
Hungarian-American mathematician set theory quantum mechanics economics game theory cellular automata computer science numerical analysis statistics nuclear physics etc.
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
12
Von Neumann Architecture
Described in “The First Draft Report on the EDVAC” by von Neumann, June 30, 1945 http://www.cs.sjsu.edu/~mak/CS185C/EDVAC.pdf
Electronic Discrete Variable Automatic Computer Designed by John Mauchly and J. Presper Eckert
starting in August 1944 at the Moore School von Neumann was a consultant to the project
Controversies Mauchly and Eckert claimed that von Neumann
merely wrote up notes of their design meetings von Neumann got all the credit for the architecture
von Neumann’s paper prevented EDVAC from being patented
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
13
Von Neumann Architecture
EDVAC
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
14
Von Neumann Architecture
Digital computer with separate components central arithmetic central control memory that stored both data and instructions
allows self-modifying code data and instructions share a common bus data fetch and instruction fetch cannot be simultaneous
external storage I/O devices
CPU
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
15
Brief History of Computer Architecture
Word length Mercury delay line memory
fetch data one bit at a time
Core memory fetch data by sets of bits (i.e., words)
Scientific calculations 7 to 12 decimal digits longer word lengths meant more precise calculations,
but greater cost and complexity and less performance
Business calculations shorter word length = fewer digits variable-length words
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
16
Brief History of Computer Architecture
Machine registers A small number of memory locations within the CPU
fast arithmetic and logical operations Early machine had a single “accumulator” Later machines had more registers
specific purpose registers integer floating point address index
general purpose registers
Index registers reduced the need for self-modifying code
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
17
Brief History of Computer Architecture
Number of addresses in each instruction Single address instructions
specify the address of the memory location from which to load the contents into the accumulator
specify the address of the memory location to which to store the contents from the accumulator
Two address instructions specify the addresses of both operands of the instruction
Three address instructions specify the target address for the result
Zero address instructions stack machine
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
18
Brief History of Computer Architecture
Size of an address in an instruction
12 bits can address 212 = 4096 bytes of memory 24 bits can address 224 = 16 MB of memory
For a small machine with under 16 MB of memory, a long address wastes instruction bits
Solution: Use base registers Store an address in a “base” address register Each instruction has a 12-bit address Effective address = base register + instruction address
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
19
UNIVAC
Universal Automatic Computer First U.S. commercial computer First delivered to the census bureau, 1951 Used by CBS News to correctly predict the
1952 presidential election 46 systems delivered
last one used until 1970
5200 vacuum tubes Mercury delay line memory
1000 12-character words
1905 operations/second
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
20
IBM 650
World’s first mass-produced computer Over 2000 systems shipped, 1954-1962
Drum memory 2000 signed
10-digit words 12,500 rpm,
2.5 ms average access time
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
21
IBM 650
Vacuum tube modulefor the IBM 650
Drum memory unit
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
22
IBM 7090
“Classic” mainframe computer, 1958-1964 Transistorized version of the vacuum tube
based IBM 709 computer, 1957-1960 Upgraded to IBM 7094
4 index registers 32K words core memory
36-bit words 50-100 K FLOPS
as fast as late 1980s PC Lots of blinking lights
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
23
IBM 1401
Small mainframe computer, 1959 Most popular computer during the early 1960s
transistor-based variable-length words up to 16,000 characters of main memory
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
24
IBM 360
A family of upward-compatible computers First model released in 1964 Both scientific and commercial use IBM “bet the company” on this family of computers By 1970, models offered a 200:1 performance range 32-bit words Up to 16 MB of main memory
Architecture still used today 360 programs can run on
today’s IBM z-Series computers Subject of Dan Greiner’s
talk, Wednesday Nov. 30
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
25
Microprogramming
Implement the control section of a digital computer as a little stored program computer of its own. First proposed by Maurice Wilkes in 1951
Key to the success of the IBM 360 Developers could implement the common instruction set and
still take advantage of each family member’s hardware design. Emulate the instruction set of earlier machines
Not “simulate” or “imitate”
Software is more permanent and harder to modify than hardware.
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
26
Minicomputers
Class of computer systems between the large expensive mainframe systems and the small inexpensive personal computer systems. Cheap enough to be purchased by individual departments,
such as a school or a scientific laboratory. Popular during the 1960s
and 1970s First was Control Data CDC 160
designed by Seymour Cray in 1960
Architectural features shorter word length direct memory access
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
27
Microprocessors
1971: Intel 4004 first complete CPU on a chip worked with 4 bits at a time first commercially available microprocessor developed for a Japanese calculator company
1972: Intel 8008 1974: Intel 8080
8-bit chip $360 each instruction set and memory addressing capabilities
approached those of the minicomputers of the day
SJSU Dept. of Computer ScienceFall 2011: September 14
CS 185C: This History of Computing© R. Mak
28
CISC vs. RISC CISC: Complex Instruction Set Computer
Core memory access relatively slow Specify in great detail what to do with a piece of data before
fetching it from memory Reduce the “semantic gap” between high-level languages and
low-level machine instructions compilers have less work to do
RISC: Reduced Instruction Set Computer Semiconductor memory as fast as the CPU
frequent memory loads and stores no longer a problem Simpler instructions can run faster 1987: Sun Microsystems introduces its SPARC
(Scalable Processor Architecture) workstation 1991: Apple-IBM-Motorola alliance releases the PowerPC
(Performance Optimization with Enhanced RISC)