chapter 1 introducing the universal...

16
© 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

Upload: lamminh

Post on 20-Aug-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 1 Introducing the Universal Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

©

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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 Machinepages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/01... · Chapter 1 Introducing the Universal Machine ... created by Braun &

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