300 likes | 424 Views
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. Additional reading. Essential Stallings (2003): Chapter 2.1 Further reading
E N D
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. cis110
Additional reading • Essential • Stallings (2003): Chapter 2.1 • Further reading • Brookshear (2003): Chapter 0.2 • Schneider and Gersting (2004): Chapter 1.4 cis110
Lesson plan • Introduction • Definition of a computer • History of computer machines. • Hardware and software • Compilers cis110
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? cis110
What is a computer? cis110
What is a computer? • Human who performs calculations • Calculating machine • General problem solver • Machine that performs repeated operations • Machine that can be programmed to perform different operations cis110
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. cis110
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. cis110
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. cis110
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. cis110
First programmer? • Lady Ada Lovelace • She met C. Babbage in 1833 • She then wrote a program for his machine. • She was the world’s first programmer ? • More about Ada Lovelace go to http://www.exeter.ac.uk/BABBAGE/ada.html cis110
Origin the word Algorithm? • The idea of a program or algorithm • was already known at that time. • The idea of Algorithm was introduced by: • Muhammad ibn Mūsā al-Khwārizm (Mathematician) (9th Century) • He worked in Baghdad at the time when it was the centre of scientific studies and trade • His work introduced Indian numerals and algebraic concepts • Father of Algebra • The word algorithm comes from the name al-Khwārizm cis110
Abacus machine (1) • First computer: Abacus A rack with a sliding beads. cis110
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. cis110
Pascal’s System Gear Blaise Pascal(1623-1662) • It was developed by Blaise Pascal in 1642. • If is also known as • Pascal mechanical calculator • Pascaline • Pascal’s adder. • It is an 8 figure calculating machine • adding, • subtracting, and • carrying 10's, 100's, and 1000's • Limitations: addition and subtraction only. cis110
8 movable dials Pascal’s System Gear • Uses a base of 10 • add sums up 8 figures. • When the10’s dial moves one revolution, the 100’s dial moves one notch. cis110
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. cis110
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 cis110
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. cis110
17,468 vacuum tubes 70,000 resistor 6,000 manual switches 30 tones weight Covers 167 square metres 160 kilowatts of electric power cis110
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) cis110
Von Neumann architecture Main memory CPU Add. bus Data bus Control bus cis110
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 (semi-conductor with 2 states) favoured the binary system to the decimal one. cis110
Computers since the 1940’s • 1st generation (1943-59): Bulky machines using vacuum tubes. • 2ndgeneration (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. cis110
Hardware and Software • Hardware: • the physical components of a machine. • Touchable • Software: • Instructions performed by a computer • Sequence of instructions that include • Conditional statements • Block of statements that are to be repeated cis110
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 cis110
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. cis110
Source code compiling Compiler Executable Code Basic Process of Compilation cis110
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). cis110
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.) cis110