220 likes | 395 Views
Introduction to Computer Systems. Lecturer: Steve Maybank Department of Computer Science and Information Systems sjmaybank@dcs.bbk.ac.uk Autumn 2013 Week 2a: History of Computing. Computing Game. Tom has a game in which he pretends to be a computer…. Equipment. 10. 5. 1. 12. -3. -1.
E N D
Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems sjmaybank@dcs.bbk.ac.uk Autumn 2013 Week 2a: History of Computing Birkbeck College, U. London
Computing Game Tom has a game in which he pretends to be a computer… Birkbeck College, U. London
Equipment 10 5 1 12 -3 -1 11 a b c d e g f • A set of boxes • Each box has a name: a, b, c, … • Each box contains a piece of paper with a single number on it, e.g. box a contains 10 Birkbeck College, U. London
Instructions • Tom carries out instructions such as: • Add the number in box a to the number in box c, • then put the result in box c, i.e. make the result • the new number in box c. • Subtract the number in box b from the number in • box a. Put the result in box a. • Multiply the number in box b with the number in • box c. Put the result in box d. Birkbeck College, U. London
Observations • The computer consists of a memory (the boxes), a device for changing the contents of the memory (Tom) and a list of instructions. • The instructions are simple and there are only a few types (so far add, subtract and multiply). • The instructions are carried out one at a time. • There is no limit to the number of instructions which are carried out (Tom never gets tired). Birkbeck College, U. London
Hardware for Evaluating 1+2 • Brain • Abacus – rods and beads • Mechanical – rods and gears • Electromechanical – magnets open and close switches • Vacuum tubes • Transistors and integrated circuits Birkbeck College, U. London
Pascal’s Calculator: the Pascaline Addition and subtraction only. Image from http://www.tcf.ua.edu/AZ/ITHistoryOutline.htm For an illuminating moving example (in French – click on GO) see http://therese.eveilleau.pagesperso-orange.fr/pages/truc_mat/textes/pascaline.htm#haut Birkbeck College, U. London
Difference Engine • Early computer for squaring numbers, and much more. Numerical results printed out in the form of tables. • Designer: Charles Babbage (1791-1871) • 1821: plans for a Difference Engine. • 1832: partially built by Joseph Clement. • 1834: plans for a more advanced computer, the programmable Analytical Engine. Never built. • See http://en.wikipedia.org/wiki/Charles_Babbage Birkbeck College, U. London
Calculation of Squares Using Differences Brookshear Section 0.2
Difference Engine Engine constructed from Babbage’s designs by the Science Museum http://www.sciencemuseum.org.uk/images/I033/10303328.aspx Birkbeck College, U. London
Lego® Version of the Difference Engine Built by Andrew Carol http://acarol.woz.org/difference_engine.html Birkbeck College, U. London
Electromechanical Computer • 1st fully automatic computer. • Vol16x2.4x0.6 m3, weight 4500 Kg. • Instructions read from punched paper. • Store: 72 nums. of 23 dec. digits. • Speed: + or - 0.3 s., * 6 s., / 15.3 s. http://en.wikipedia.org/wiki/Harvard_Mark_1 H. Aiken, 1944 Birkbeck College, U. London
ENIAC • 18,000 vacuum tubes • Vol 30x2.4x0.9 m3, Weight 27000 Kg • Data input: card reader. • Volatile store: twenty 10 digit decimal nos. Read only store: 100 nos. • Programming: rewire • Speed: + or – 0.2 ms, * 3 ms, / 25 ms. http://en.wikipedia.org/wiki/ENIAC J. Presper-Eckert and J. Mauchley Birkbeck College, U. London
Computing at Birkbeck • 1945: Andrew Booth recruited by J.D. Bernal to work on mathematical methods for inferring crystal structure from X-rays. • 1946-: builds series of computers, Automatic Relay Computer (ARC), ARC2, SEC, … • 1957: establishes Department of Numerical Automation at Birkbeck • See http://www.dcs.bbk.ac.uk/50years/50yearsofcomputing.pdf Birkbeck College, U. London
Computing at Birkbeck MSc student Norman Kitz working on the SEC (Simple Electronic Computer) at Birkbeck (1949). http://www.dcs.bbk.ac.uk/ 50years/50yearsofcomputing.pdf Birkbeck College, U. London
Algorithms • An algorithm is an ordered set of unambiguous executable steps that defines a terminating process. • It is implicit that something (e.g. a machine) carries out the steps. Birkbeck College, U. London
Informal Algorithms • Directions to go from one place to another. • Cooking recipes. • How to use a device (TV, microwave, etc.) • How to assemble flat pack furniture • A list of instructions for Tom Birkbeck College, U. London
Algorithms and Computers • An algorithms is converted into a list of instructions (program) for a particular computer. • The details of the instructions vary from one computer to another • If an algorithm is programmable on one computer, then it is programmable on any computer. Birkbeck College, U. London
First Example of an Algorithm Input: integers 12, 5 Output: quotient q and remainder r on dividing 12 by 5 Algorithm • q = 0; r = 12; • Subtract 5 from r; Increase q by 1; • Subtract 5 from r; Increase q by 1; • Output q, r; • Halt; Birkbeck College, U. London
Second Example of an Algorithm Input: strictly positive integers m, n Output: quotient q and remainder r on dividing m by n Algorithm • q = 0; • r = m; • If r < n, Output q, r; Halt; • r = r-n; • q = q+1; • go to 3; Birkbeck College, U. London
Third Example of an Algorithm Input: strictly positive integers m, n Output: quotient q and remainder r on dividing m by n Algorithm • q = 0; • r = m; • While r >= n, • r = r-n; • q = q+1; • EndWhile • Output q, r; • Halt; Birkbeck College, U. London
Exercise • Sketch an algorithm that takes as input a strictly positive integer n and outputs an integer k such that Birkbeck College, U. London