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



Yüklə 7,86 Mb.
tarix08.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
      • Bletchley Park
    • 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

  • 11 C.B. Sheppard Elements of a Complete Computing System

  • 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

  • 28 J.P. Eckert Tapetypers and Printing Mechanisms

  • 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
      • stack machine


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
      • last one used until 1970
    • 5200 vacuum tubes
    • Mercury delay line memory
      • 1000 12-character words
    • 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

    • 4 index registers
  • 32K words core memory

    • 36-bit words
  • 50-100 K FLOPS

    • as fast as late 1980s PC
  • 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)


Yüklə 7,86 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə