Date post: | 28-Mar-2015 |
Category: |
Documents |
Upload: | maria-clarke |
View: | 215 times |
Download: | 2 times |
10/04/23 cis110 1
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.
10/04/23 cis110 2
Additional reading
Essential•Stallings (2003): Chapter 2.1
Further reading•Brookshear (2003): Chapter 0.2
•Schneider and Gersting (2004): Chapter 1.4
10/04/23 cis110 3
Lesson plan
Introduction Definition of a computer History of computer machines. Hardware and software Compilers
10/04/23 cis110 4
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?
10/04/23 cis110 5
What is a computer?
10/04/23 cis110 6
What is a computer?
1. Human who performs calculations
2. Calculating machine
3. General problem solver
4. Machine that performs repeated operations
5. Machine that can be programmed to perform different operations
10/04/23 cis110 7
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.
10/04/23 cis110 8
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.
10/04/23 cis110 9
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.
10/04/23 cis110 10
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.
10/04/23 cis110 11
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
10/04/23 cis110 12
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
10/04/23 cis110 13
Abacus machine (1)
First computer: Abacus
A rack with a sliding beads.
10/04/23 cis110 14
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.
10/04/23 cis110 15
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.
10/04/23 cis110 16
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.
8 movable dials
10/04/23 cis110 17
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.
10/04/23 cis110 18
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
10/04/23 cis110 19
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.
10/04/23 cis110 20
17,468 vacuum tubes70,000 resistor6,000 manual switches30 tones weightCovers 167 square metres160 kilowatts of electric power
10/04/23 cis110 21
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)
10/04/23 cis110 22
Von Neumann architecture
CPUMain
memory
Add. bus
Data bus
Control bus
10/04/23 cis110 23
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.
10/04/23 cis110 24
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.
10/04/23 cis110 25
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
10/04/23 cis110 26
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
10/04/23 cis110 27
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.
10/04/23 cis110 28
Basic Process of Compilation
Source code
Compiler
ExecutableCode
compiling
10/04/23 cis110 29
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).
10/04/23 cis110 30
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.)