Computer Component
Download
Report
Transcript Computer Component
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.
21/07/2015
cis110
1
Additional reading
Essential
•
Stallings (2003): Chapter 2.1
Further reading
•
•
Brookshear (2003): Chapter 0.2
Schneider and Gersting (2004): Chapter 1.4
21/07/2015
cis110
2
Lesson plan
Introduction
Definition of a computer
History of computer machines.
Hardware and software
Compilers
21/07/2015
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?
21/07/2015
cis110
4
What is a computer?
21/07/2015
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
21/07/2015
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.
21/07/2015
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.
21/07/2015
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.
21/07/2015
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.
21/07/2015
cis110
10
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
21/07/2015
cis110
11
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)
•
•
•
21/07/2015
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
12
Abacus machine (1)
First computer: Abacus
A rack with a sliding beads.
21/07/2015
cis110
13
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.
21/07/2015
cis110
14
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
21/07/2015
cis110
15
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.
21/07/2015
cis110
16
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.
21/07/2015
cis110
17
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
21/07/2015
cis110
18
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.
21/07/2015
cis110
19
17,468 vacuum tubes
70,000 resistor
6,000 manual switches
30 tones weight
Covers 167 square metres
160 kilowatts of electric power
21/07/2015
cis110
20
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)
21/07/2015
cis110
21
Von Neumann architecture
CPU
Main
memory
Add. bus
Data bus
Control bus
21/07/2015
cis110
22
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.
21/07/2015
cis110
23
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.
21/07/2015
cis110
24
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
21/07/2015
cis110
25
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
21/07/2015
cis110
26
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.
21/07/2015
cis110
27
Basic Process of Compilation
Source code
compiling
Compiler
Executable
Code
21/07/2015
cis110
28
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).
21/07/2015
cis110
29
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.)
21/07/2015
cis110
30