Download presentation
Presentation is loading. Please wait.
Published byIsabel Hardy Modified over 9 years ago
1
Origins of Computing – Pre 1900 Raj Reddy Carnegie Mellon University Jan 14, 2013 rr@cmu.edu
2
15-346 Schedule of Presentations Spring 2013 Jan 14Raj ReddyOrigins of Computers I – Pre 1900 Jan 16Raj ReddyOrigins of Computers II– Post 1900 Jan 21Chuck ThackerComputer Architecture in the 20th century Jan 23Chuck ThackerComputer Architecture in the 21st century Jan 28 & 30Majd Sakr andFetch & Execute, Pipelining & IL Parallelism M Hammoud Feb 4Majd SakrThe Memory Hierarchy Feb 6M HammoudMulticore Challenges Feb 11 & 13Gordon BellArchitectures from Digestible to the Largest Feb 18 (VC)Dan SiewiorekMobile Hardware Technologies Feb 20 (VC)Dan SiewiorekEnd-to-End Application Considerations Feb 25 & 27Student Presentations
3
Necessary Conditions for The Evolution of Computers Representation of Data and Logic Representation of Data and Logic Text, Numbers, Procedures Text, Numbers, Procedures Physical Technology Physical Technology Mechanical, EM Relays, Electronic Devices Mechanical, EM Relays, Electronic Devices Control Unit and Arithmetic Logic Unit Control Unit and Arithmetic Logic Unit I/O Devices I/O Devices Manual, Paper Tape, Punch Cards, Teletype Manual, Paper Tape, Punch Cards, Teletype Programmability Programmability Flexible Automation: Most mechanical machines do just one task; A computer can do many tasks if they are programmable Flexible Automation: Most mechanical machines do just one task; A computer can do many tasks if they are programmable A Language for Expression of Desired Computation A Language for Expression of Desired Computation Automatic Sequencing of successive operations including Automatic Sequencing of successive operations including Conditional Branching: If…then statements Conditional Branching: If…then statements Iteration: Loops - going back to a previous instruction Iteration: Loops - going back to a previous instruction
4
Origins of Computers – Pre 1900 Steps towards Automation of Computation Representation of Information Representation of Information Symbols and Numbers Symbols and Numbers Tools for computation Tools for computation Abacus Abacus Slide Rule Slide Rule Pascal and Leibniz: Early Pioneers of Automation of Computation Pascal and Leibniz: Early Pioneers of Automation of Computation Boole: Logic as a language of thought Boole: Logic as a language of thought Precursor to Modern Programming Languages? Precursor to Modern Programming Languages? Babbage: Father of Modern Computer Architecture? Babbage: Father of Modern Computer Architecture? Designer of the First General Purpose Computer Designer of the First General Purpose Computer Lady Lovelace: First Programmer? Lady Lovelace: First Programmer?
5
Stages in Information Revolution Invention of Writing 3000BCE Invention of Writing 3000BCE Hieroglyphs, Kanji Characters Hieroglyphs, Kanji Characters Mesopotamia: Sumerian cuneiform writing on clay tablets Mesopotamia: Sumerian cuneiform writing on clay tablets Egypt: writing in hieroglyphic script Egypt: writing in hieroglyphic script Invention of Alphabet for simplified writing and learning, and communication with slaves Invention of Alphabet for simplified writing and learning, and communication with slaves Invention of Printing1450CE Invention of Printing1450CE Guttenberg Press Guttenberg Press Democratization of knowledge Democratization of knowledge Invention of Computer1950CE Invention of Computer1950CE Motivated by the desire to invent tools for creation of Mathematical Tables Motivated by the desire to invent tools for creation of Mathematical Tables
6
Representing Numbers Roman Indo-ArabicBinary I1 1 I1 1 V5 101 V5 101 X10 1010 X10 1010 L50 110010 L50 110010 C100 1100100 C100 1100100 D500 111110100 D500 111110100 M1000 1111101000 M1000 1111101000 CXXVIII=128 = 10000000 CXXVIII=128 = 10000000
7
Tools for Calculation: Abacus Representing Numbers in Abacus Representing Numbers in Abacus Bi-Quinary Representation (also used in early computers Colossus, IBM650 and Univac) (also used in early computers Colossus, IBM650 and Univac)
8
Video of Calculating using an Abacus
9
Tools for Calculation : Slide Rule John Napier (1550-1617) John Napier (1550-1617) Discovered Discovered Logarithms Logarithms Simplifying arithmetic computations Simplifying arithmetic computations Popularized the use of Popularized the use of Decimal Point Decimal Point Slide Rule: Represents Numbers Slide Rule: Represents Numbers on a Logarithmic Scale on a Logarithmic Scale On a logarithmic scale an equal difference in order of magnitude is represented by an equal distance
10
Video of Calculating using a Slide Rule
11
Blaise Pascal (1623-1662) Known for Co-Founder of Probability Theory Co-Founder of Probability Theory Pascal’s Triangle for Binomial Coefficients Pascal’s Triangle for Binomial Coefficients Pascaline Mechanical Calculator Pascaline Mechanical Calculator Pascal Programming Language Pascal Programming Language named after him named after him
12
Pascal’s Mechanical Calculator for Addition and Subtraction
13
Gottfried Wilhelm Leibniz (1646-1714) Known for Co-Inventor of Calculus with Newton Co-Inventor of Calculus with Newton Leibniz Pinwheel Calculator Leibniz Pinwheel Calculator Binary Number Systems (Explication de l'Arithmétique Binaire -1703) Binary Number Systems (Explication de l'Arithmétique Binaire -1703) Calculus Ratiocinator: Algebra of Calculus Ratiocinator: Algebra of Logic as a Calculus of Human Logic as a Calculus of Human Reasoning Reasoning Formal Logic: Forerunner of Formal Logic: Forerunner of Symbolic Logic Symbolic Logic
14
Liebniz’s Multiplying Calculator
15
George Boole (1815-64) Algebra of Numbers Algebra of Numbers Semantics of Addition, Subtraction, and Multiplication of Numbers are well understood Semantics of Addition, Subtraction, and Multiplication of Numbers are well understood Algebra of Sets and Propositions (Boolean Algebra) Algebra of Sets and Propositions (Boolean Algebra) Semantics of Addition, Subtraction, and Multiplication in Boolean Algebra are sometimes different Semantics of Addition, Subtraction, and Multiplication in Boolean Algebra are sometimes different If X=all men and Y=all women If X=all men and Y=all women X+Y is all men and women X+Y is all men and women If X = all people and Y = all children If X = all people and Y = all children then X-Y is all Adults then X-Y is all AdultsBut X+X=X not 2X X+X=X not 2X X.X = X not X 2 X.X = X not X 2 Both Algebras Agree if X=0 or 1 Both Algebras Agree if X=0 or 1 0.X = 0 and 1.X = X 0.X = 0 and 1.X = X Claude Shannon Demonstrated in 1938 Claude Shannon Demonstrated in 1938 that Logic of Switching Circuits is that Logic of Switching Circuits is equivalent to Logic of Propositions equivalent to Logic of Propositions
16
Babbage and Lovelace Inventors of the First Computer and Software Known for Known for Lucasian Professor of Mathematics at Cambridge Lucasian Professor of Mathematics at Cambridge Gold Medal of the Royal Astronomical Society Gold Medal of the Royal Astronomical Society Difference Engine Difference Engine Using Method of Finite Differences for Polynomial Evaluation Using Method of Finite Differences for Polynomial Evaluation Analytic Engine Analytic Engine First Use of Punch Cards in Computation First Use of Punch Cards in Computation First Use of Storage Registers First Use of Storage Registers First Programmable General Purpose First Programmable General Purpose Computer Computer First Software Program First Software Program by Lady Lovelace by Lady Lovelace
17
Babbage and Lovelace’s Analytic Engine
18
Babbage and Lovelace Inventors of the First Computer and Software (cont) Babbage’s Analytical Engine was the first General Purpose Computer with Babbage’s Analytical Engine was the first General Purpose Computer with A Store (Memory) A Store (Memory) Arithmetic Unit (ALU) Arithmetic Unit (ALU) Sequential Control of Instructions (CPU) Sequential Control of Instructions (CPU) With Conditional Branching and Iteration With Conditional Branching and Iteration Punch Card I/O System Punch Card I/O System Software on Punch Cards Replaced Software on Punch Cards Replaced Traditional Fixed Automation Traditional Fixed Automation by Programmable Automation by Programmable Automation Missing Elements of Babbage’s Design Missing Elements of Babbage’s Design Not a stored program computer Not a stored program computer Programs in punch cards i.e., Program and Data Programs in punch cards i.e., Program and Data are not stored in Internal Memory are not stored in Internal Memory No Binary Arithmetic No Binary Arithmetic No Floating Point Representation No Floating Point Representation No Instructions with Numerical Addresses No Instructions with Numerical Addresses
19
Necessary Conditions for The Evolution of Computers Representation of Data and Logic Representation of Data and Logic Text, Numbers, Procedures Text, Numbers, Procedures Physical Technology Physical Technology Mechanical, EM Relays, Electronic Devices Mechanical, EM Relays, Electronic Devices Control Unit and Arithmetic Logic Unit Control Unit and Arithmetic Logic Unit I/O Devices I/O Devices Manual, Paper Tape, Punch Cards, Teletype Manual, Paper Tape, Punch Cards, Teletype Programmability Programmability Flexible Automation: Most mechanical machines do just one task; A computer can do many tasks if they are programmable Flexible Automation: Most mechanical machines do just one task; A computer can do many tasks if they are programmable A Language for Expression of Desired Computation A Language for Expression of Desired Computation Automatic Sequencing of successive operations including Automatic Sequencing of successive operations including Conditional Branching: If…then statements Conditional Branching: If…then statements Iteration: Loops - going back to a previous instruction Iteration: Loops - going back to a previous instruction
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.