Who Invented the Computer? Babbage, Atanasoff, Zuse, Turing or von Neumann? Raj Reddy Carnegie...
-
Upload
veronica-mccarthy -
Category
Documents
-
view
223 -
download
4
Transcript of Who Invented the Computer? Babbage, Atanasoff, Zuse, Turing or von Neumann? Raj Reddy Carnegie...
Who Invented the Computer?Babbage, Atanasoff, Zuse, Turing or von
Neumann?
Raj ReddyCarnegie Mellon University
Sep 23, [email protected]
Talk given at Heidelberg Laureates Forum onOrigins of Computing
3 Stages of Information Revolution
Invention of Writing 3000BCEHieroglyphs, Kanji Characters
Mesopotamia: Sumerian cuneiform writing on clay tablets
Egypt: writing in hieroglyphic script Invention of Alphabet for simplified writing
and learning, and communication with slavesInvention of Printing 1450CE
Guttenberg PressDemocratization of knowledge
Invention of Computer1950CEPassive knowledge to active knowledge
Representing Numbers
Roman Indo-Arabic Binary I 1 1 V 5 101 X 10 1010 L 50 110010
C 100 1100100 D 500 111110100 M 1000 1111101000 CXXVIII = 128 = 10000000
Tools for Calculation: Abacus Representing Numbers in Abacus
Bi-Quinary Representation (also used in early computers Colossus, IBM650 and Univac)
Tools for Calculation : Slide Rule
John Napier (1550-1617) Discovered
Logarithms Simplifying arithmetic computations
Popularized the use of Decimal Point Slide Rule: Represents Numbers on a Logarithmic Scale
On a logarithmic scale an equal difference in order of magnitude is represented by
an equal distance
Blaise Pascal (1623-1662)
Known forCo-Founder of Probability TheoryPascal’s Triangle for Binomial
CoefficientsPascaline Mechanical Calculator
Only addition and subtractionPascal Programming Language
named after him
Gottfried Wilhelm Leibniz (1646-1714)
Known for Co-Inventor of Calculus with NewtonBinary Number Systems (Explication de
l'Arithmétique Binaire -1703)
Calculus Ratiocinator: Algebra of Logic as a Calculus of Human Reasoning
Formal Logic: Forerunner of Symbolic Logic
Leibniz Pinwheel CalculatorCapable of multiplication and
division
George Boole (1815-64) Algebra of Numbers
Semantics of Addition, Subtraction, and Multiplication of Numbers are well understood
Algebra of Sets and Propositions (Boolean Algebra) Semantics of Addition, Subtraction, and Multiplication in Boolean
Algebra are sometimes different If X=all men and Y=all women X+Y is all men and women If X = all people and Y = all children then X-Y is all AdultsBut X+X=X not 2X X.X = X not X2
Both Algebras Agree if X=0 or 1 0.X = 0 and 1.X = X
Claude Shannon Demonstrated in 1938 that Algebra of Switching Circuits is equivalent to Algebra of Propositions
Babbage and LovelaceInventors of the First Computer and Software
Designer of the Analytic Engine First Programmable General Purpose Computer First Use of Punch Cards and Storage Registers First software program developed by Lady Lovelace
Analytical Engine proposed to use a A Store (Memory) with 1000 50-digit words Arithmetic Unit (ALU) Sequential Control of Instructions (CPU) with Conditional
Branching Punch Card I/O Software on Punch Cards Replacing Fixed Automation by
Programmable Automation Stored Program Computer? Represents Programs as Data, but on Punch Cards
Missing Elements of Babbage’s Design No Binary Arithmetic or Floating Point No Working Prototype
VIDEO
Babbage and LovelaceFirst to Design a Programmable General Purpose
Computer
• Click here to see Babbage and Lovelace video
Alan M. Turing (1912-54)Turing I: Universal Turing Machine (1936)
Proposed an Abstract Digital Computing Machine, now called a Universal Turing Machine (1936), formalizing theConcepts of Algorithm and ComputationConcept of a Programmable ComputerConcept of a Program
and Programming Concept of a Stored Program ComputerConcept of a SubroutineRead, Write and Erase on an Infinite Paper
TapeModern Computers also Read, Write and Erase
albeit with finite memory
George Stibitz (1904-95)BTL1 1936
Stibitz is acknowledged as an early pioneer in the digital computer revolution
BTL1 is known forComplex Multiplication and Division
(x + yi)(u + vi) = (xu – yv) + (xv + yu)i3 multiplications and 3 additionsNeeds a sequence of calculations and storing intermediate resultsFixed Function – Not programmable
First Computing Device ever used Remotely over Phone LinesBoolean Logic for Circuit Design
Howard AikenASCC: Automatic Sequence Controlled
Calculator(Harvard Mark I) 1936
Howard Aiken is acknowledged as an early pioneer in the digital computer revolution
Harvard Mark I is known forOne of the Largest Computers 51’x8’x2’
Weighing 10,000 poundsElectro-MechanicalProgrammable
Sequence of instructions from 24 channel paper tapeNo conditional branching
Decimal Arithmetic72 Storage Counters with 23 digit signed decimal numbers
John Atanasoff (1903-95)ABC 1936
John Atanasoff is acknowledged as an early pioneer in the digital computer revolutionAtanasoff-Berry Computer (ABC)
ABC is known forFirst Electronic Digital Computer
arithmetic logic functions were fully electroniclogic gates ranged from inverters to two and three input gates
Binary digits represent all numbers and dataFixed Function – Not Programmable
No Stored ProgramRegenerative capacitor memory
VIDEO
John Atanasoff (1903-95)First to Develop a Working Electronic Digital Computer
with Binary Arithmetic
• Click here to see Atanasoff’s video
Konrad Zuse (1910-1995)Z3 1936
Konrad Zuse is acknowledged as an early pioneer in the digital computer revolution
Z3 is known forFirst working, program-controlled, general-
purpose, electro-mechanical relay computerSequence of Instructions on TapeConditional Branching missing
First to use Binary RepresentationFirst use of Floating PointSingle Address Instructions
Operation, OperandFirst Programmable Computer
VIDEO
Konrad Zuse (1910-1995)First to Develop a Working Programmable General Computer with Binary and Floating-point Arithmetic
Click here to see Zuse’s video
Turing IIBombe (1940)
Bombe was an electromechanical device used to decipher German Enigma-machine-encrypted secret messages
Developed by Alan Turing and Gordon Welchman
Produced in 1940 at the UK Government Code and Cypher School
Bombe was An Electro-mechanical Special Purpose ComputerThe First to be used in Symbolic ComputationThe First to be used as a Parallel Computer
Tommy FlowersColossus (1943)
Colossus was the world's first electronic digital computer that was at all programmable
Used for Code Breaking during WWII Colossus
Used 2000+ state-of-the-art vacuum tubes First working implementation of a
programmable electronic computerAtanasoff’s was not programmable
Eckert and MauchlyENIAC: Electrical Numerical Integrator and Computer
1945 Eckert and Mauchly provided key leadership in the
emergence of Electronic Digital Computer Responsible for emergence of global digital computer
industry along with IBM Eckert Mauchly Computer Corporation 1948
ENIAC Known for First Large Scale Electronic Computer
First to become operationalFar Faster than any another existing computer
Programming by Plugboard Too slow
Full Conditional Branching Decimal Arithmetic
20 10-digit accumulators Punch Card I/O Led to EDVAC Report
Training Ground for Many Successors
John von Neumannwith Goldstine, Eckert and Mauchly
EDVAC Report (1945): Electronic Discrete Variable Automatic Computer Based on discussions with Goldstine, Eckert and Mauchly A Design for a Programmable Electronic Digital Computer
a processing unit: an arithmetic logic unit and processor registers a control unit: an instruction register and program counter a memory to store both data and instructions external mass storage, and input and output mechanisms
Concept of a Stored Program Concept of Instructions as Data Instructions and Data in same Memory
Concept of sequential flow of control A “program counter” that indicates the current point that has been reached in execution of a program
Concept of a variable “named” storage locations in which a value may be stored and subsequently referenced
VIDEO
John von Neumann (1903 - 1957)First to propose the architecture for a Stored Program
Electronic Digital Computer
• Click here to see Neumann’s video
Turing III: Automatic Computing Engine (ACE) Report (Dec
1945)Also a Founder of Artificial Intelligence Designed Code Breaking Computers during WW
IICreated the Design for ACE (1945),
proposingA Stored Program Electronic Computer With Binary ArithmeticUsing Electronic Logic Circuits
ALU, Memory (and Registers) and I/OStored ProgramConditional BranchingFloating Point
Commercialized by Ferranti and English Electric in 1950s
Cambrian Explosion of Computers
List of Stored Program Computers 1946-1950 Manchester SSEM (UK)
CRT memory Jun-48 Binary
Modified ENIAC (US)Read Only Memory Sep-48
Decimal Cambridge EDSAC (UK)
Mercury delay line memory May-49Binary
Manchester Mark 1 (UK)CRT and magnetic drum memory Oct-49
Binary Pilot ACE (UK)
Mercury delay line memory May-50Binary
Also CSIRAC, BINAC, UNIVAC, SEAC, Harvard MarkIII
Who was the First? Babbage: FIRST to design a PROGRAMMABLE
general purpose computerNot implemented, No Impact
Atanasoff: FIRST to develop a working ELECTRONIC digital computer with binary arithmetic
Not a programmable general purpose computer In spite of familiarity with Babbage’s work, did not see
programmability as a central issue Zuse: FIRST to develop a WORKING
programmable general computer with binary and floating-point arithmetic
Not Electronic, No conditional execution Turing I (1936): FIRST to propose the STORED
PROGRAM CONCEPT (as part of Universal Turing Machine)
No implementation, No direct impact
Who was the First? Turing II (1940): FIRST to be used for
Symbolic Computation and Parallel Computation Special purpose computer for code-braking
Flowers (1944): FIRST working Programmable ELECTRONIC digital computerNot stored program, but just plug-board
programming von Neumann: FIRST to propose the STORED
PROGRAM ELECTRONIC DIGITAL COMPUTERwidely adopted in US, many variations
implemented, including EMCC and IBM Turing III (1945): FIRST to anticipate a RISC
ARCHITECTURE for a programmable electronic computer
ACE architecture used in English Electric and Ferranti Computers
Who is the Inventor of Modern Computer?
Pascal, Leibniz, Stibitz, Aiken, Flowers, Eckert and Mauchly?
Babbage?Atanasoff?
ZuseTuring?
von Neumann?
Relative Contributions of Various Pioneers
Name System Year Programmable
Elec-tronic
Bi-nary
FloatPt
StoredProg
Prototype
CISC/ RISC
Impact Wide Use
Rank
Pascal Pascaline
1645 N N N N N Y N N 7
Leibnitz Pinwheel 1670 N N N N N N N Y 7
Stibitz BTL 1936 N N N N N Y N N 7
Babbage Analytc Engine
1840 Y N N N Y N N N 6
Aiken BTL 1936 Y N N N Y Y N N 5
Atanasoff
ABC 1937 N Y Y N N Y N N 5
Turing II Bombe 1942 N N Y N N Y N Y 5
Turing I Turing Machine
1936 Y N Y N Y N Y N 4
Eckert & Mauchly
ENIAC 1940 Y Y N N N Y N Y 4
Flowers Colossus 1944 Y Y Y N N Y N Y 3
Zuse Z3 1941 Y Y Y Y Y Y N N 2
von Neumann
EDVAC 1945 Y Y Y Y Y Y N Y 1
Turing III ACE 1945 Y Y Y Y Y Y Y Y 0
Programmable?Name System Year Progra
mmable
Elec-tronic
Bi-nary
FloatPt
StoredProg
Prototype
CISC/ RISC
Impact Wide Use
Rank
Pascal Pascaline
1645 N N N N N Y N N 7
Leibnitz Pinwheel 1670 N N N N N N N Y 7
Stibitz BTL 1936 N N N N N Y N N 7
Babbage Analytc Engine
1840 Y N N N Y N N N 6
Aiken BTL 1936 Y N N N Y Y N N 5
Atanasoff
ABC 1937 N Y Y N N Y N N 5
Turing II Bombe 1942 N N Y N N Y N Y 5
Turing I Turing Machine
1936 Y N Y N Y N Y N 4
Eckert & Mauchly
ENIAC 1940 Y Y N N N Y N Y 4
Flowers Colossus 1944 Y Y Y N N Y N Y 3
Zuse Z3 1941 Y Y Y Y Y Y N N 2
von Neumann
EDVAC 1945 Y Y Y Y Y Y N Y 1
Turing III ACE 1945 Y Y Y Y Y Y Y Y 0
Stored Program?Name System Year Progra
mmable
Elec-tronic
Bi-nary
FloatPt
StoredProg
Prototype
CISC/ RISC
Impact Wide Use
Rank
Pascal Pascaline
1645 N N N N N Y N N 7
Leibnitz Pinwheel 1670 N N N N N N N Y 7
Stibitz BTL 1936 N N N N N Y N N 7
Babbage Analytc Engine
1840 Y N N N Y N N N 6
Aiken BTL 1936 Y N N N Y Y N N 5
Atanasoff
ABC 1937 N Y Y N N Y N N 5
Turing II Bombe 1942 N N Y N N Y N Y 5
Turing I Turing Machine
1936 Y N Y N Y N Y N 4
Eckert & Mauchly
ENIAC 1940 Y Y N N N Y N Y 4
Flowers Colossus 1944 Y Y Y N N Y N Y 3
Zuse Z3 1941 Y Y Y Y Y Y N N 2
von Neumann
EDVAC 1945 Y Y Y Y Y Y N Y 1
Turing III ACE 1945 Y Y Y Y Y Y Y Y 0
Binary Arithmetic?Name System Year Progra
mmable
Elec-tronic
Bi-nary
FloatPt
StoredProg
Prototype
CISC/ RISC
Impact Wide Use
Rank
Pascal Pascaline
1645 N N N N N Y N N 7
Leibnitz Pinwheel 1670 N N N N N N N Y 7
Stibitz BTL 1936 N N N N N Y N N 7
Babbage Analytc Engine
1840 Y N N N Y N N N 6
Aiken BTL 1936 Y N N N Y Y N N 5
Atanasoff
ABC 1937 N Y Y N N Y N N 5
Turing II Bombe 1942 N N Y N N Y N Y 5
Turing I Turing Machine
1936 Y N Y N Y N Y N 4
Eckert & Mauchly
ENIAC 1940 Y Y N N N Y N Y 4
Flowers Colossus 1944 Y Y Y N N Y N Y 3
Zuse Z3 1941 Y Y Y Y Y Y N N 2
von Neumann
EDVAC 1945 Y Y Y Y Y Y N Y 1
Turing III ACE 1945 Y Y Y Y Y Y Y Y 0
Working Prototype?Name System Year Progra
mmable
Elec-tronic
Bi-nary
FloatPt
StoredProg
Prototype
CISC/ RISC
Impact Wide Use
Rank
Pascal Pascaline
1645 N N N N N Y N N 7
Leibnitz Pinwheel 1670 N N N N N N N Y 7
Stibitz BTL 1936 N N N N N Y N N 7
Babbage Analytc Engine
1840 Y N N N Y N N N 6
Aiken BTL 1936 Y N N N Y Y N N 5
Atanasoff
ABC 1937 N Y Y N N Y N N 5
Turing II Bombe 1942 N N Y N N Y N Y 5
Turing I Turing Machine
1936 Y N Y N Y N Y N 4
Eckert & Mauchly
ENIAC 1940 Y Y N N N Y N Y 4
Flowers Colossus 1944 Y Y Y N N Y N Y 3
Zuse Z3 1941 Y Y Y Y Y Y N N 2
von Neumann
EDVAC 1945 Y Y Y Y Y Y N Y 1
Turing III ACE 1945 Y Y Y Y Y Y Y Y 0
Impact on SocietyCommercial Availability
Name System Year Programmable
Elec-tronic
Bi-nary
FloatPt
StoredProg
Prototype
CISC/ RISC
Impact Wide Use
Rank
Pascal Pascaline
1645 N N N N N Y N N 7
Leibnitz Pinwheel 1670 N N N N N N N Y 7
Stibitz BTL 1936 N N N N N Y N N 7
Babbage Analytc Engine
1840 Y N N N Y N N N 6
Aiken BTL 1936 Y N N N Y Y N N 5
Atanasoff
ABC 1937 N Y Y N N Y N N 5
Turing II Bombe 1942 N N Y N N Y N Y 5
Turing I Turing Machine
1936 Y N Y N Y N Y N 4
Eckert & Mauchly
ENIAC 1940 Y Y N N N Y N Y 4
Flowers Colossus 1944 Y Y Y N N Y N Y 3
Zuse Z3 1941 Y Y Y Y Y Y N N 2
von Neumann
EDVAC 1945 Y Y Y Y Y Y N Y 1
Turing III ACE 1945 Y Y Y Y Y Y Y Y 0
In Summary Babbage got most of the elements of a Digital
Computer rightNo impact
Jane Smiley thinks Atanasoff invented the computerBut it was not a general purpose programmable
architecture had no impact on the future evolution
Martin Davis believes that Turing qualifies for the title given the 1936 seminal paperbut the Universal Turing Machine idea was largely
ignored had little impact on the emergence of the modern
computer Zuse got most of the elements right
based on electromechanical components, and no conditional execution
von Neumann or Turing? This is like asking who invented calculus: Newton or
Leibniz? EDVAC and ACE reports defined the future of
Computing
Who Invented the Computer?Babbage, Atanasoff, Zuse, Turing or von
Neumann?
All of them deserve the title “Man Who Invented the Computer”
It is amazing and inspiring that these pioneers working alone and in isolation with limited
resources made as much progress
Post 1945 The dawn of Computer Age?
Advances over last 7 decades: incredible andunprecedented in the annals of science and technologyexponential growth in computational power,exponential growth in memory capacity, exponential growth in optical bandwidth and exponential growth in wireless bandwidth.
Progression from transistors to integrated circuits to vlsi to multicore mainframes to minis to pcs to mobile systems to
warehouse scale computersArpanet to Internet to Wifi to 4G to gigabit wireless Interpreters to compilers to www to apps
Post 1945 (cont)Most importantly, we have expanded the
scale and scope of the uses of computers by developing algorithms for many unconventional tasks such as cars that drive themselvesany-to-any language translationspoken language understandingwinning at games such as
poker, robo-soccer, jeopardywinning and crashing the stock market
Derivatives marketCause sub-prime financial crisis
These are tales for another day!