Who Invented the Computer Babbage Atanasoff Zuse Turing
Who Invented the Computer? Babbage, Atanasoff, Zuse, Turing or von Neumann? Raj Reddy Carnegie Mellon University Sep 23, 2013 rr@cmu. edu Talk given at Heidelberg Laureates Forum on Origins of Computing
3 Stages of Information Revolution l Invention of Writing 3000 BCE l Hieroglyphs, Kanji Characters l Mesopotamia: Sumerian cuneiform writing on clay tablets l Egypt: writing in hieroglyphic script l Invention of Alphabet for simplified writing and learning, and communication with slaves l Invention of Printing l Guttenberg Press l Democratization of l Invention l Passive 1450 CE knowledge of Computer 1950 CE knowledge to active knowledge
Representing Numbers Roman I V X L C D M CXXVIII Indo-Arabic 1 5 10 50 100 500 1000 = 128 Binary 1 1010 1100100 1111101000 = 10000000
Tools for Calculation: Abacus Representing Numbers in Abacus Bi-Quinary Representation (also used in early computers Colossus, IBM 650 and Univac)
Tools for Calculation : Slide Rule l John Napier (1550 -1617) l Discovered l Logarithms l Simplifying arithmetic computations l l Popularized the use of Decimal Point Slide Rule: Represents Numbers on a Logarithmic Scale l On a logarithmic scale an equal difference in order of magnitude is represented by an equal distance
Blaise Pascal (1623 -1662) Known for l Co-Founder of Probability Theory l Pascal’s Triangle for Binomial Coefficients l Pascaline Mechanical Calculator l Only addition and subtraction l Pascal Programming Language named after him
Gottfried Wilhelm Leibniz (1646 -1714) Known for l Co-Inventor of Calculus with Newton l Binary Number Systems (Explication de l'Arithmétique Binaire -1703) l Calculus Ratiocinator: Algebra of Logic as a Calculus of Human Reasoning l Formal Logic: Forerunner of Symbolic Logic l Leibniz Pinwheel Calculator l Capable division of multiplication and
George Boole (1815 -64) l Algebra of Numbers l l 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 l If X=all men and Y=all women X+Y is all men and women l If X = all people and Y = all children then X-Y is all Adults But l X+X=X not 2 X l X. X = X not X 2 l l Both Algebras Agree if X=0 or 1 l l 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 Lovelace Inventors of the First Computer and Software l Designer of the Analytic Engine First Programmable General Purpose Computer l First Use of Punch Cards and Storage Registers l First software program developed by Lady Lovelace l l Analytical Engine proposed to use a l l l l 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 l No Working Prototype l
Babbage and Lovelace Inventors of the First Computer and Software
Alan M. Turing (1912 -54) Turing I: Universal Turing Machine (1936) l Proposed an Abstract Digital Computing Machine, now called a Universal Turing Machine (1936), formalizing the l Concepts of Algorithm and Computation l Concept of a Programmable Computer l Concept of a Program l and Programming l Concept of a Stored Program Computer l Concept of a Subroutine l Read, Write and Erase on an Infinite Paper Tape l Modern Computers also Read, l albeit with finite memory Write and Erase
l Stibitz George Stibitz (1904 -95) BTL 1 1936 is acknowledged as an early pioneer in the digital computer revolution l BTL 1 is known for l Complex l (x Multiplication and Division + yi)(u + vi) = (xu – yv) + (xv + yu)i l 3 multiplications and 3 additions l Needs a sequence of calculations and storing intermediate results l Fixed Function – Not programmable l First Computing Device ever used Remotely over Phone Lines l Boolean Logic for Circuit Design
Howard Aiken ASCC: Automatic Sequence Controlled Calculator (Harvard Mark I) 1936 Howard Aiken is acknowledged as an early pioneer in the digital computer revolution l Harvard Mark I is known for l l One of the Largest Computers 51’x 8’x 2’ l Weighing 10, 000 pounds l Electro-Mechanical l Programmable l Sequence of instructions from 24 channel paper tape l No conditional branching l Decimal Arithmetic l 72 Storage Counters with 23 digit signed decimal numbers
John Atanasoff (1903 -95) ABC 1936 l John Atanasoff is acknowledged as an early pioneer in the digital computer revolution l Atanasoff-Berry l Computer (ABC) ABC is known for l First Electronic Digital Computer l arithmetic logic functions were fully electronic l logic gates ranged from inverters to two and three input gates l Binary digits represent all numbers and data l Fixed Function – Not Programmable l No Stored Program l Regenerative capacitor memory
John Atanasoff (1903 -95) ABC 1936
Konrad Zuse (1910 -1995) Z 3 1936 l Konrad Zuse is acknowledged as an early pioneer in the digital computer revolution l Z 3 is known for l First working, program-controlled, general-purpose, electro-mechanical relay computer l Sequence of Instructions on Tape l Conditional Branching missing l First to use Binary Representation l First use of Floating Point l Single Address Instructions l Operation, l First Operand Programmable Computer
Konrad Zuse (1910 -1995) Z 3 1936
Turing II Bombe (1940) Bombe was an electromechanical device used to decipher German Enigma-machine-encrypted secret messages l Developed by Alan Turing and Gordon Welchman l Produced in 1940 at the UK Government Code and Cypher School l Bombe was l An Electro-mechanical Special Purpose Computer l The First to be used in Symbolic Computation l The First to be used as a Parallel Computer l
Tommy Flowers Colossus (1943) l Colossus was the world's first electronic digital computer that was at all programmable l Used for Code Breaking during WWII l Colossus l Used 2000+ state-of-the-art vacuum tubes l First working implementation of a programmable electronic computer l Atanasoff’s was not programmable
Eckert and Mauchly ENIAC: Electrical Numerical Integrator and Computer 1945 Eckert and Mauchly provided key leadership in the emergence of Electronic Digital Computer l Responsible for emergence of global digital computer industry along with IBM l l l Eckert Mauchly Computer Corporation 1948 l First Large Scale Electronic Computer ENIAC Known for l l l l First to become operational Far Faster than any another existing computer l Too slow l 20 10 -digit accumulators l Training Ground for Many Successors Programming by Plugboard Full Conditional Branching Decimal Arithmetic Punch Card I/O Led to EDVAC Report
John von Neumann with Goldstine, Eckert and Mauchly l EDVAC Report (1945): Electronic Discrete Variable Automatic Computer l Based on discussions with Goldstine, Eckert and Mauchly l A Design for a Programmable Electronic Digital Computer l l l l 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 l l Concept of Instructions as Data Instructions and Data in same Memory l A “program counter” that indicates the current point that has been reached in execution of a program Concept of sequential flow of control Concept of a variable l “named” storage locations in which a value may be stored and subsequently referenced
John von Neumann
Turing III: Automatic Computing Engine (ACE) Report (Dec 1945) l Also a Founder of Artificial Intelligence l Created the Design for ACE (1945), proposing l Designed Code Breaking Computers during WW II l A Stored Program Electronic l With Binary Arithmetic l Using Computer Electronic Logic Circuits l ALU, Memory (and Registers) and I/O l Stored Program l Conditional Branching l Floating Point l Commercialized by Ferranti and English Electric in 1950 s
Cambrian Explosion of Computers List of Stored Program Computers 1946 -1950 l l l Manchester SSEM (UK) l CRT memory Jun-48 Binary l Read Only Memory Sep-48 Decimal l Mercury delay line memory May-49 Binary l CRT and magnetic drum memory Oct-49 Binary l Mercury delay line memory Binary Modified ENIAC (US) Cambridge EDSAC (UK) Manchester Mark 1 (UK) Pilot ACE (UK) May-50 Also CSIRAC, BINAC, UNIVAC, SEAC, Harvard Mark. III
Who was the First? l l Babbage: FIRST to design a PROGRAMMABLE general purpose computer l Not implemented, No Impact l l Not a programmable general purpose computer In spite of familiarity with Babbage’s work, did not see programmability as a central issue Atanasoff: FIRST to develop a working ELECTRONIC digital computer with binary arithmetic Zuse: FIRST to develop a WORKING programmable general computer with binary and floating-point arithmetic l Not Electronic, No conditional execution l No implementation, No direct impact Turing I (1936): FIRST to propose the STORED PROGRAM CONCEPT (as part of Universal Turing Machine)
Who was the First? l l l Turing II (1940): FIRST to be used for Symbolic Computation and Parallel Computation l Special purpose computer for code-braking l Not stored program, but just plug-board programming Flowers (1944): FIRST working Programmable ELECTRONIC digital computer von Neumann: FIRST to propose the STORED PROGRAM ELECTRONIC DIGITAL COMPUTER l widely adopted in US, many variations implemented, including EMCC and IBM l Turing III (1945): FIRST to anticipate a RISC ARCHITECTURE for a programmable electronic computer l 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? Zuse Turing? von Neumann?
Relative Contributions of Various Pioneers Name System Year Program mable Electronic Bi-nary Float Pt Stored Prog Proto type CISC/ RISC Impact Wide Use Pascaline 1645 N N N Y N N 7 Leibnitz Pinwheel 1670 N N N N Y 7 BTL 1936 N N N Y N N 7 Analytc Engine 1840 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 5 Turing II Bombe 1942 N N Y N Y 5 Turing I Turing Machine 1936 Y N Y N 4 Eckert & Mauchly ENIAC 1940 Y Y N N N Y 4 Flowers Colossus 1944 Y Y Y N N Y 3 Z 3 1941 Y Y Y N N 2 von Neumann EDVAC 1945 Y Y Y N Y 1 Turing III ACE 1945 Y Y Y Y 0 Stibitz Babbage Zuse Rank
Programmable? Name System Year Program mable Electronic Bi-nary Float Pt Stored Prog Proto type CISC/ RISC Impact Wide Use Pascaline 1645 N N N Y N N 7 Leibnitz Pinwheel 1670 N N N N Y 7 BTL 1936 N N N Y N N 7 Analytc Engine 1840 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 5 Turing II Bombe 1942 N N Y N Y 5 Turing I Turing Machine 1936 Y N Y N 4 Eckert & Mauchly ENIAC 1940 Y Y N N N Y 4 Flowers Colossus 1944 Y Y Y N N Y 3 Z 3 1941 Y Y Y N N 2 von Neumann EDVAC 1945 Y Y Y N Y 1 Turing III ACE 1945 Y Y Y Y 0 Stibitz Babbage Zuse Rank
Stored Program? Name System Year Program mable Electronic Bi-nary Float Pt Stored Prog Proto type CISC/ RISC Impact Wide Use Pascaline 1645 N N N Y N N 7 Leibnitz Pinwheel 1670 N N N N Y 7 BTL 1936 N N N Y N N 7 Analytc Engine 1840 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 5 Turing II Bombe 1942 N N Y N Y 5 Turing I Turing Machine 1936 Y N Y N 4 Eckert & Mauchly ENIAC 1940 Y Y N N N Y 4 Flowers Colossus 1944 Y Y Y N N Y 3 Z 3 1941 Y Y Y N N 2 von Neumann EDVAC 1945 Y Y Y N Y 1 Turing III ACE 1945 Y Y Y Y 0 Stibitz Babbage Zuse Rank
Binary Arithmetic? Name System Year Program mable Electronic Bi-nary Float Pt Stored Prog Proto type CISC/ RISC Impact Wide Use Pascaline 1645 N N N Y N N 7 Leibnitz Pinwheel 1670 N N N N Y 7 BTL 1936 N N N Y N N 7 Analytc Engine 1840 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 5 Turing II Bombe 1942 N N Y N Y 5 Turing I Turing Machine 1936 Y N Y N 4 Eckert & Mauchly ENIAC 1940 Y Y N N N Y 4 Flowers Colossus 1944 Y Y Y N N Y 3 Z 3 1941 Y Y Y N N 2 von Neumann EDVAC 1945 Y Y Y N Y 1 Turing III ACE 1945 Y Y Y Y 0 Stibitz Babbage Zuse Rank
Working Prototype? Name System Year Program mable Electronic Bi-nary Float Pt Stored Prog Proto type CISC/ RISC Impact Wide Use Pascaline 1645 N N N Y N N 7 Leibnitz Pinwheel 1670 N N N N Y 7 BTL 1936 N N N Y N N 7 Analytc Engine 1840 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 5 Turing II Bombe 1942 N N Y N Y 5 Turing I Turing Machine 1936 Y N Y N 4 Eckert & Mauchly ENIAC 1940 Y Y N N N Y 4 Flowers Colossus 1944 Y Y Y N N Y 3 Z 3 1941 Y Y Y N N 2 von Neumann EDVAC 1945 Y Y Y N Y 1 Turing III ACE 1945 Y Y Y Y 0 Stibitz Babbage Zuse Rank
Impact on Society Commercial Availability Name System Year Program mable Electronic Bi-nary Float Pt Stored Prog Proto type CISC/ RISC Impact Wide Use Pascaline 1645 N N N Y N N 7 Leibnitz Pinwheel 1670 N N N N Y 7 BTL 1936 N N N Y N N 7 Analytc Engine 1840 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 5 Turing II Bombe 1942 N N Y N Y 5 Turing I Turing Machine 1936 Y N Y N 4 Eckert & Mauchly ENIAC 1940 Y Y N N N Y 4 Flowers Colossus 1944 Y Y Y N N Y 3 Z 3 1941 Y Y Y N N 2 von Neumann EDVAC 1945 Y Y Y N Y 1 Turing III ACE 1945 Y Y Y Y 0 Stibitz Babbage Zuse Rank
In Summary l Babbage got most of the elements of a Digital Computer right l l No impact Jane Smiley thinks Atanasoff invented the computer But it was not a general purpose programmable architecture l had no impact on the future evolution l l Martin Davis believes that Turing qualifies for the title given the 1936 seminal paper but the Universal Turing Machine idea was largely ignored l had little impact on the emergence of the modern computer l l Zuse got most of the elements right based on electromechanical components, and l no conditional execution l l von Neumann or Turing? This is like asking who invented calculus: Newton or Leibniz? l EDVAC and ACE reports defined the future of Computing l
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 l The dawn of Computer Age? l l Advances over last 7 decades: incredible and unprecedented in the annals of science and technology l exponential growth in computational power, l exponential growth in memory capacity, l exponential growth in optical bandwidth and l 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 computers l Arpanet to Internet to Wifi to 4 G to gigabit wireless l Interpreters to compilers to www to apps l l
Post 1945 (cont) l Most importantly, we have expanded the scale and scope of the uses of computers by developing algorithms for many unconventional tasks such as l cars that drive themselves l any-to-any language translation l spoken language understanding l winning at games such as l poker, robo-soccer, jeopardy l winning and crashing the stock market l Derivatives market l Cause sub-prime financial crisis l These are tales for another day!
- Slides: 37