|
 Cs 185C: The History of Computing September 21 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak
|
tarix | 08.08.2018 | ölçüsü | 7,86 Mb. | | #61274 |
|
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
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”
Plankalkül
German Enigma Machines Enigma machines - Used by the Germans to encrypt messages during WW II
British Colossus Machines Colossus machines - Built by the British to decrypt Enigma messages
- Vacuum tubes
- Paper tape
- 1941: Mark 1
- 1944: Mark 2
- Kept a secret for many years after the war.
- ordered destroyed by Winston Churchill after the war
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
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
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 Machines 10 J.P. Eckert A Preview of a Digital Computing Machine 12 H.H. Goldstine Numerical Mathematical Methods III 13 H.H. Aiken The Automatic Sequence Controlled Calculator 14 H.H. Aiken Electro-Mechanical Tables of the Elementary Functions 15 J.P. Eckert Types of Circuit -- General 16 T.K. Sharpless Switching and Coupling Circuits
Moore School Lectures 17 A.W. Burks Numerical Mathematical Methods IV 18 H.H. Goldstine Numerical Mathematical Methods V 19 Hans Rademacher On the Accumulation of Errors in Numerical Integration on the ENIAC 20 J.P. Eckert Reliability of Parts 21 C.B. Sheppard Memory Devices 22 J.W. Mauchly Sorting and Collating 23 J.P. Eckert C.B. Sheppard Adders 24 J.P. Eckert Multipliers 25 J.W. Mauchly Conversions between Binary and Decimal Number Systems 26 H.H. Goldstine Numerical Mathematical Methods VI 27 Chuan Chu Magnetic Recording 29 J.H. Curtiss A Review of Government Requirements and Activities in the Field of Automatic Digital Computing Machinery 30 H.H. Goldstine Numerical Mathematical Methods VII 31 A.W. Burks Numerical Mathematical Methods VIII 32 Perry Crawford Application of Digital Computation Involving Continuous Input and Output Variables
Moore School Lectures 33 J.P. Eckert Continuous Variable Input and Output Devices 34 S.B. Williams Reliability and Checking in Digital Computing Systems 35 J.P. Eckert Reliability and Checking 36 C.B. Sheppard Code and Control -- I 37 J.W.Mauchly Code and Control -- II Machine Design and Instruction Codes 38 C.B. Sheppard Code and Control -- III 39 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 Approaches 41 J.P. Eckert Electrical Delay Lines 42 J.P. Eckert A Parallel-Type EDVAC 43 Jan Rajchman The Selectron 44 C.N. Mooers Discussion of Ideas for the Naval Ordnance Laboratory Computing Machine 45 J.P. Eckert A Parallel Channel Computing Machine 46 C.B. Sheppard A Four-Channel Coded-Decimal Electrostatic Machine 47 T.K. Sharpless Description of Serial Acoustic Binary EDVAC 48 J.W.Mauchly Accumulation of Errors in Numerical Methods
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.
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
Von Neumann Architecture
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
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
Brief History of Computer Architecture Machine registers - A small number of memory locations within the CPU
- 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
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
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
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
- 5200 vacuum tubes
- Mercury delay line memory
- 1905 operations/second
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
IBM 650
IBM 7090 “Classic” mainframe computer, 1958-1964 Transistorized version of the vacuum tube based IBM 709 computer, 1957-1960 Upgraded to IBM 7094 50-100 K FLOPS Lots of blinking lights
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
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
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.
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
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
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)
Dostları ilə paylaş: |
|
|