cs 185c: the history of computing september 21 class meeting department of computer science san jose...

28
CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak www.cs.sjsu.edu /~mak

Post on 15-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 2: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak 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”

Page 3: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 4: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 5: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 6: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 7: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 8: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 9: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 10: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 11: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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.

Page 12: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 13: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

SJSU Dept. of Computer ScienceFall 2011: September 14

CS 185C: This History of Computing© R. Mak

13

Von Neumann Architecture

EDVAC

Page 14: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 15: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 16: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 17: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 18: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 19: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 20: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 21: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 22: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 23: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 24: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 25: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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.

Page 26: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 27: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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

Page 28: CS 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak mak

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)