Click here to load reader
Click here to load reader
Jan 03, 2016
History of ComputersLecture 1
History of ComputersMechanical ComputersAbacusJacquard LoomPlayer PianoDifference EngineAnalytical EngineHollerith and the 1890 US Census
The Jacquard LoomProgram cards with punched holes to control the pattern being woven.Less talented people could make cloth as fancy as highly skilled weavers.
Player PianoThe typical upright player piano was operated by pumping two large foot pedals which came out from inside the lower panel of the instrument. Pumping these pedals created a vacuum, which operated a perforated paper roll located behind sliding doors in the front panel of the instrument. The perforations in the paper roll passed over a series of holes through which vacuum was pulled to activate the keys.
The Difference EnginePredecessor to the Analytical EngineCalculated value of polynomials via the addition of differencesSingle purpose - not programmable for other purposes
The Difference EngineCalculates a polynomial such as the square of a number via a sum of the differences.
The Analytical EngineAdded the concept of storing on cards the sequence of operations for a machine such as the difference engine to make it programmable.Augusta Ada, Countess of Lovelace was the first computer programmer. We have named a programming language (Ada) in her honor. Charles BabbageAugusta Ada
Hollerith CardsHollerith used punched cards to hold data and could mechanically sort the cards and add/print data from cards in sorted order.Hollerith cards were used for utility bills and US Savings Bonds as recently as the 1980s.
Hollerith Card Processing
History of ComputersEarly Electrical/Electronic ComputersAtanasoff-Berry Computer Vacuum TubesKonrad Zuse and Helmut Schreyer - RelaysHoward Aiken (Harvard Mark I) RelaysTypical Uses Compute Ballistic Firing Tables for ArtillerySolutions for Algebraic Equations
Relays versus Vacuum TubesRelays are switches controlledby a magnetic fieldInput VoltageAnd CurrentOutput Voltage(s)And Current(s)ElectromagnetSwitchesFilament PowerOutput Voltage(s)And Current(s)Input VoltageAnd CurrentVacuum Tubes areswitches controlledby an electric field
Relays versus Vacuum TubesBoth were in mass production at the time (1940s)Relays were used in telephone switchesVacuum tubes were used in radios.Relays used mechanical switches that could fail due to dirt, etc. and were slower than vacuum tubes Relays were more reliable than vacuum tubes which had a filament (like a light bulb) that could burn out.Both used a relatively large amount of power by comparison to todays electronic circuits
History of Computer HardwareElectronic Computers First GenerationBritish ColossusElectronic Numerical Integrator and Computer (ENIAC)IBM 7090
ENIACA 30 by 50 foot room18,000 Vacuum TubesProgramming done via wires on patch panelsNot as powerful as the machine in front of youMean Time Between Failure (MTBF) shorter than many practical jobsLots of heat generated by the vacuum tubes - needed cooling
History of Computer HardwareElectronic Computers Second GenerationTransistors (invented 1957)IBM 360Honeywell 316Many large racks of equipment using a lot of power and needing an air conditioned room
History of Computer HardwareElectronic Computers - Third GenerationIntegrated Circuits (invented 1963)IBM 370DEC VAXFewer smaller equipment racks, but still using a lot of power / needing an air conditioned room
History of Computer HardwareElectronic Computers Fourth GenerationLarge scale/Very Large Scale Integrated CircuitsMicroprocessors (Computer on a chip)IBM PC and Apple MacIntoshIBM Mainframes and ServersApollo/HP/Sun WorkstationsSingle shelf, Desktop, and Laptop Possible
The Computer as a ToolCalculatorsModern Mechanical Calculators
Modern Pocket Calculators
Windows Calculator AccessoryPrograms/Accessories/Calculator on PC ScreenEasy to use because it looks like a modern pocket calculator
A Person as a ComputerWith simple (four function) calculators, the user is the computer, e.g. balancing your checkbookThe calculator is an aid to the person doing computing, but doesnt know the algorithmThe person must know the algorithm for the calculation being done and control execution of itA simple calculator is similar to the Difference Engine It is not programmableA true computer is programmable and controls the execution of the algorithm
An AlgorithmA series of steps for computing a result, e.g. Newtons method for finding the square root of a number via multiple iterations (Page 26)Guess = (n + Guess2)/(2 x Guess)Computers are good at doing repetitive steps such as iterating a formula like the one above
A ProgramProgram contains one line with the algorithmProgram must also handle input and output of numbers to be calculated (n and guess)Program must also control the number of iterations (or allow user to control them)Program must also exit cleanly when doneProgrammer must handle many details!!!
Modern Computer PersonalitiesAlan TuringJohn Von NeumannTed Hoff (Intel)Wosniak/Jobs (Apple)Bill Gates (Microsoft)