Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 2 The development of computers Learning outcomes • Outline the history of computers • Explain Von-Neumann Architecture • Explain the advantage of using the binary system in computing and not the decimal one. 23/05/2017 cis110 1 Additional reading Essential • Stallings (2003): Chapter 2.1 Further reading • • Brookshear (2003): Chapter 0.2 Schneider and Gersting (2004): Chapter 1.4 23/05/2017 cis110 2 Lesson plan Introduction Definition of a computer History of computer machines. Hardware and software Compilers 23/05/2017 cis110 3 Introduction Modern computers are: • • • Small, Fast, Can do different things To understand how modern computers work • • • • It is useful to know their development history How is information represented ? How is information stored? How is information processed? 23/05/2017 cis110 4 What is a computer? 23/05/2017 cis110 5 What is a computer? 1. 2. 3. 4. 5. Human who performs calculations Calculating machine General problem solver Machine that performs repeated operations Machine that can be programmed to perform different operations 23/05/2017 cis110 6 Navigation problem Originally, a word computer was assigned to humans who were employed to solve difficult equations such as computing tabulated values that could be used by navigators. Humans implies mistakes. Large fortune can lost. 23/05/2017 cis110 7 A computer is something that does arithmetic sums Charles Babbage (mathematician) realised that a fortune can be saved if the production of these tables can mechanised. There were a limited mechanic machines at that time • such as abacus (limited in its precision) A Computer becomes: • Something that does arithmetic sums. 23/05/2017 cis110 8 A computer is something that can perform repeated operations. In 1822 C. Babbage proposed: • A mechanical calculating device designed to repeatedly add large number. A computer becomes: • something that can perform repeated operations without error. 23/05/2017 cis110 9 A computer is machine that can perform different tasks 1833 • C. Babbage designed a machine that could perform different operations. Order of operation can be changed after. A computer becomes: • A machine that can be programmed to perform different tasks. 23/05/2017 cis110 10 Abacus machine (1) First computer: Abacus A rack with a sliding beads. 23/05/2017 cis110 11 Abacus machine (2) Emerged about 5,000 years ago in China. Not an automated computer Allows users to perform computations using a system of sliding beads arranged in a rack. Only helps to remember the current state of calculation. 23/05/2017 cis110 12 Pascal’s System Gear Blaise Pascal(1623-1662) It was developed by Blaise Pascal in 1642. • If is also known as • It is an 8 figure calculating machine • Limitations: addition and subtraction only. • Pascal mechanical calculator • Pascaline • Pascal’s adder. • adding, • subtracting, and • carrying 10's, 100's, and 1000's 23/05/2017 cis110 13 Pascal’s System Gear 8 movable dials • Uses a base of 10 • add sums up 8 figures. • When the10’s dial moves one revolution, the 100’s dial moves one notch. 23/05/2017 cis110 14 Gottfried Von Leibniz Leibniz developed Pascal’s ideas. In 1671, he introduced a new device called Step Reckoner. The device can performs the followings: • Addition and subtraction • multiplication and division. • Evaluation of square roots by series of stepped additions. 23/05/2017 cis110 15 Babbage’s Difference Engine Charles Babbage(1791-1871) It could compute tables of numbers for naval navigation, e.g. x2 for any value of x. This machine punched the result into a copper plate. For more information about Babbage’s work go to: http://www.maxmon.com/1830ad.htm http://en.wikipedia.org/wiki/Charles_Babbage 23/05/2017 cis110 16 Electronic Numerical Integrator and Computer (ENIAC) (1943-1946) by John Mauchly ENIAC used vacuum tubes for number computation. • The switches between the vacuum tubes were able to represent 2 states: ON and OFF. However, programming was done manually. 23/05/2017 cis110 17 17,468 vacuum tubes 70,000 resistor 6,000 manual switches 30 tones weight Covers 167 square metres 160 kilowatts of electric power 23/05/2017 cis110 18 Von Neumann Machine Invented in 1943 by John Von Neumann First machine that could perform all operations electronically. No manual switching between states is needed It consists of : • • • A central processing unit Memory as well as Input/Output devices These were connected through a system bus (set of wires) 23/05/2017 cis110 19 Von Neumann architecture CPU Main memory Add. bus Data bus Control bus 23/05/2017 cis110 20 Industry Standard Architecture ISA & Binary System John von Neumann’s architecture was also referred to as ISA machine The ISA used vacuum tubes that were based on the binary system. The invention of transistors in 1947 (semiconductor with 2 states) favoured the binary system to the decimal one. 23/05/2017 cis110 21 Computers since the 1940’s 1st generation (1943-59): Bulky machines using vacuum tubes. 2nd generation (1959-65): Transistor-based machines with magnetic core memory, programmed with high level languages (e.g. Fortran or Cobol). 3rd generation (1965-75): Integrated circuits. Operating systems permitting shared use of machines. 4th generation (1975-85): Machines built with large-scale and very large-scale integrated circuits (VLSI), e.g. Microcomputers. Graphical User Interfaces (GUIs), networks 5th generation (1985-present): Multimedia interfaces, mobile computing, parallel processing. Most of today’s computers also inherit the properties of 4th generation devices. 23/05/2017 cis110 22 Hardware and Software Hardware: Software: • the physical components of a machine. • Touchable • Instructions performed by a computer • Sequence of instructions that include • Conditional statements • Block of statements that are to be repeated 23/05/2017 cis110 23 Software Terminology Program: • Set of instructions or rules that a computer can apply • Software consists of a set of programs Application program: • An end-user employs, such word processor, web browser, etc.. System programs: • Manages the running of applications, such as operating system. • Link between the application software and the hardware 23/05/2017 cis110 24 Compilers Executable/Object Code: • • It is expressed in machine code. A language the machine hardware can understand Source Code: • The text of a program written in high-level language. Compiler: • Translates from source code to object code, machine code. 23/05/2017 cis110 25 Basic Process of Compilation Source code compiling Compiler Executable Code 23/05/2017 cis110 26 Files and directories A file is collection of data (e.g. plain text document) Directories: • A means of organizing files • Usually form a hierarchy • Root: • is the top directory in the hierarchy • (/ Unix and \ in Ms-dos). 23/05/2017 cis110 27 Computer Component Most computers consist of: • Input/output devices: keyboard, mouse • Visual display units: screen • Graphical user interfaces: display on the screen that allows you to interact, • • • • • • e.g. by pointing, clicking, dragging. Objects that you see on screen, e.g. wastebasket, folders, symbols such as disk, scissors, etc. CPU: processor (e.g. INTEL, ) – made out of silicon Hard-drive (magnetic disk, now more than a Terabyte) RAM (working memory, now more than a Gigabyte) Cards, such as graphic cards, sound cards, Ethernet cards Operating systems, e.g. UNIX, Linux, Windows, etc Programmes (written in assembly language, Java, C, C++, Visual Basic, Python, Perl etc.) 23/05/2017 cis110 28