chapter 1 introducing the universal...
TRANSCRIPT
©
Christian Jacob
Chapter Overview
Chapter 1
Introducing the Universal Machine
1.1 The Very Idea of the Universal Machine
1.1.1 Universal versus Special-Purpose Machines
1.1.2 What is a “Computer”?
1.1.3 Areas of Computer Science
1.1.4 Early Devices to Facilitate Numerical Operations
1.1.5 Babbage’s Engines
1.1.6 Babbage’s Idea and Modern Computers
1.2 Turing’s Symbol Manipulator
1.3 References
Page 2
Chapter 1: Introducing the Universal Machine
© Christian Jacob
Prev Next Last
Machine
l-manipulating ent as a
program
.
eps.
ersal machine.
chines
he following
r, piano
First Back TOC The Very Idea of the Universal Machine
1.1 The Very Idea of the Universal
A universal machine is a general-purpose symbomachine, capable of any task that one can repres
A
program
is an organized sequence of logical st
Any actual computer approximates an ideal univ
1.1.1 Universal versus Special-Purpose Ma
What are the differences and commonalities of t“machines”?
• car, microwave oven, TV set, CD player, elevato
• pocket calculator, game boy, computer
Page 3 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
reckon´)
alculate ???
cifically a person ry, in surveying,
ions ... (Grolier
essing data (usually to it in a variable
Edition).
First Back TOC The Very Idea of the Universal Machine
1.1.2 What is a “Computer”?
to compute: (Latin computare; as COM-, putare ´
Computer Science = Science of how to
C
Computer:
• One who computes, a calculator, reckoner, speemployed to make calculations in an observatoetc.” (
Oxford English Dictionary, 1926).
• An apparatus built to perform routine calculat
Multimedia Encyclopedia, 1993).
• A usually electronic device for
storing
and
proc
in binary form), according to
instructions
given
program
” (
The Concise Oxford Dictionary, 9th
Page 4 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
formation:
mputers
First Back TOC The Very Idea of the Universal Machine
Computers are machines for the processing of in
- storage - generation- retrieval - transformation- analyzation - …
Computer Science
=
Science of Processing Information by Co
=
Informatics
Page 5 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
erating Systems
Database Systems
puter Graphics
System Simulation
First Back TOC The Very Idea of the Universal Machine
1.1.3 Areas of Computer Science
Theoretical CS
Programming Languages
Computer Structures
Op
Pattern Recognition
Communication Systems
Artificial IntelligenceCom
Computers & their Environment
Computational “X”
New Frontiers …
Page 6 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
Operations
.
can be performed s a series of vertical
wed to slide freely.
sections, known as
First Back TOC The Very Idea of the Universal Machine
1.1.4 Early Devices to Facilitate Numerical
Abacus (about 200 B.C.)
The abacus is a mechanical aid used for counting
Addition, subtraction, division and multiplicationon a standard abacus. The frame of the abacus harods on which a number of wooden beads
are allo
A horizontal beam separates the frame into twothe
upper deck
and the
lower deck
.
Page 7 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
ion
aun & Vayringe in
ents for quick and aps, photographs, a with the tracer
direction is sensed.
First Back TOC The Very Idea of the Universal Machine
Mathematical Instruments for Analog Computat
Left: The image shows a calculator created by Br1735.
Right: Planimeters (1906) are very precise instrumaccurate determination of areas on blueprints, mdrawings, etc. By following the outline of the arethe revolution of the measuring wheel in either
Page 8 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
bage (1791-ned this engine pt to mechanize
tation of mathe-les.
e principle of the differences, i.e., ements (= ) to intermediate
urpose calculator
First Back TOC The Very Idea of the Universal Machine
1.1.5 Babbage’s Engines
Charles Babbage´s Difference Engine (1833)
Charles Bab1871) desigin an attemthe compumatical tab
He used thmethod ofadding incrdifferencesresults.
⇒ special p
Page 9 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
ursue a better idea:
lving mathematical
First Back TOC The Very Idea of the Universal Machine
Charles Babbage´s Analytical Engine (1871)
Babbage abandoned the Difference Engine, to pa general purpose computer for automatically soequations.
Page 10
Chapter 1: Introducing the Universal Machine
©
Christian Jacob
Prev Next Last
oxes of punched
(a sequence of table that the
ning machine-ble software).
ivide
First Back TOC The Very Idea of the Universal Machine
The Analytical Engine would be able to
• carry out any mathematical operation
• by use of stored programs.
One could modify its behaviour by altering two bcards:
• one box of variables, or data, and
• one box of
instruction codes
.
Thus a box of punched cards might be a programinstructions), or it might be data (for example, a engine had already computed and punched).
Babbage also noticed the importance of maintaireadable libraries of programs and data ( ⇒ reusa
Add Subtract Multiply D
Page 11 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
ers
ill”.
ponents of a
any sequence of
mory.
ternal files) stored hatever virtual
First Back TOC The Very Idea of the Universal Machine
1.1.6 Babbage’s Idea and Modern Comput
Babbage’s engine separates a “store” from a “m
These correspond to the two most important commodern computer:
• the main memory and
• the central processing unit (CPU).
A modern
stored-program machine
can execute instructions stored in its memory.
Both instructions and data are read into main me
⇒
By reading externally originated programs (exwithin its memory, the
actual machine
becomes w
machine
the programmer wishes.
Page 12 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
Personal Computer
r 3
nch
. . .
. . .
Floppy disks, ZIP drives
RAM
Processor
CDs, DVDs
(CPU)
First Back TOC The Very Idea of the Universal Machine
Structure of a stored-program machine
Babbage’s Machine von Neumann Machine
Register 1 Register 2 RegisteInstructionPointer
ControlUnit + Load- Store Bra
primitive operations
Main memory
External filesPunched cards
Store
Mill
Page 13
Chapter 1: Introducing the Universal Machine
© Christian Jacob
Prev Next Last
perform a small
xt instruction in
n.
truction pointer, so m.
First Back TOC The Very Idea of the Universal Machine
How does a stored-program machine work?
Like Babbage’s machine, a modern machine can number of primitive operations.
The instruction pointer tells where to find the nemain memory.
The control unit
• fetches an instruction from memory,
• decodes it and
• executes the corresponding primitive operatio
A
branch
instruction changes the value of the insthat it would jump to another part of the progra
Page 14 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
. . .
0 0 0 0
T A G C
o the next blank
Write Move Next state
B Right 2
X Right 2
B STOP
First Back TOC Turing’s Symbol Manipulator
1.2 Turing’s Symbol Manipulator
X
Controlprogram
X X X X X X X X. . .
1 1 0 1 0 1 1 1 0 1 1 0 0 1
C A A G T T A AA T T G A C
Read/writeheadLeft Right
Moving right t
State Read
1 B
2 X
2 B
Page 15
Chapter 1: Introducing the Universal Machine
©
Christian Jacob
Prev Next Last
ny other Turing
s M’s rules as a
e computed by
, etc. program.
pe.
First Back TOC Turing’s Symbol Manipulator
Alan Turing’s universal machine, U, can imitate amachine, M.
Just encode
M
’s rules onto
U
’s tape. Then
U
read
program
.
Church-Turing Thesis
: anything computable can bsome Turing machine,some register machine, some Pascal, C, C++, Java
X
Controlprogram
X X X X X X X X
Read/writehead
machine U:
Control program for machine M on the tape
Read all information on the ta
Page 16 Chapter 1: Introducing the Universal Machine © Christian Jacob
Prev Next Last
, Boston, MA: WCB/
logy
, Los Alamitos, 4.
First Back TOC References
1.3 References
• G. Blank and R. Barnes, The Universal MachineMcGraw-Hill, 1998. Chapters 1.1 and 1.2.
• M. R. Williams, A History of Computing TechnoCA: IEEE Compute Society Press, 1997. Chapter