230 likes | 489 Views
Lecture 1. History of Computers. History of Computers. Mechanical Computers Abacus Jacquard Loom Player Piano Difference Engine Analytical Engine Hollerith and the 1890 US Census. The Jacquard Loom. Program cards with punched holes to control the pattern being woven.
E N D
Lecture 1 History of Computers
History of Computers • Mechanical Computers • Abacus • Jacquard Loom • Player Piano • Difference Engine • Analytical Engine • Hollerith and the 1890 US Census
The Jacquard Loom • Program cards with punched holes to control the pattern being woven. • Less talented people could make cloth as fancy as highly skilled weavers.
Player Piano The 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 Engine • Predecessor to the Analytical Engine • Calculated value of polynomials via the addition of differences • Single purpose - not programmable for other purposes
The Difference Engine • Calculates a polynomial such as the square of a number via a sum of the differences.
The Analytical Engine • Added 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 Babbage Augusta Ada
Hollerith Cards • Hollerith 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 1980’s.
History of Computers • Early Electrical/Electronic Computers • Atanasoff-Berry Computer – Vacuum Tubes • Konrad Zuse and Helmut Schreyer - Relays • Howard Aiken (Harvard Mark I) – Relays • Typical Uses • Compute Ballistic Firing Tables for Artillery • Solutions for Algebraic Equations
Relays versus Vacuum Tubes Vacuum Tubes are switches controlled by an electric field Relays are switches controlled by a magnetic field Switches Output Voltage(s) And Current(s) Output Voltage(s) And Current(s) Input Voltage And Current Electromagnet Input Voltage And Current Filament Power
Relays versus Vacuum Tubes • Both were in mass production at the time (1940’s) • Relays were used in telephone switches • Vacuum 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 today’s electronic circuits
History of Computer Hardware • Electronic Computers – First Generation • British Colossus • Electronic Numerical Integrator and Computer (ENIAC) • IBM 7090
ENIAC • A 30 by 50 foot room • 18,000 Vacuum Tubes • Programming done via wires on patch panels • Not as powerful as the machine in front of you • Mean Time Between Failure (MTBF) shorter than many practical jobs Lots of heat generated by the vacuum tubes - needed cooling
History of Computer Hardware • Electronic Computers – Second Generation • Transistors (invented 1957) • IBM 360 • Honeywell 316 • Many large racks of equipment using a lot of power and needing an air conditioned room
History of Computer Hardware • Electronic Computers - Third Generation • Integrated Circuits (invented 1963) • IBM 370 • DEC VAX • Fewer smaller equipment racks, but still using a lot of power / needing an air conditioned room
History of Computer Hardware • Electronic Computers – Fourth Generation • Large scale/Very Large Scale Integrated Circuits • Microprocessors (Computer on a chip) • IBM PC and Apple MacIntosh • IBM Mainframes and Servers • Apollo/HP/Sun Workstations • Single shelf, Desktop, and Laptop Possible
The Computer as a Tool • Calculators • “Modern” Mechanical Calculators • Slide Rules • Modern Pocket Calculators • Windows Calculator Accessory • Programs/Accessories/Calculator on PC Screen • Easy to use because it looks like a modern pocket calculator
A Person as a Computer • With simple (four function) calculators, the user is the computer, e.g. balancing your checkbook • The calculator is an aid to the person doing computing, but doesn’t know the algorithm • The person must know the algorithm for the calculation being done and control execution of it • A simple calculator is similar to the Difference Engine – It is not programmable • A true computer is programmable and controls the execution of the algorithm
An Algorithm • A series of steps for computing a result, e.g. Newton’s 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 Program • Program contains one line with the algorithm • Program 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 done • Programmer must handle many details!!!
A Program doing an Algorithm • See class demonstration of HTML and JavaScript program for Newton’s Method
Modern Computer Personalities • Alan Turing • John Von Neumann • Ted Hoff (Intel) • Wosniak/Jobs (Apple) • Bill Gates (Microsoft)