Basic Concepts

50
1 Basic Concepts ttp://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_2.ppt

description

Basic Concepts . http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_2.ppt. Making functions . nand gates. A. Y. ADD. B. Y. A,B. . time. delay. 2. Functional Units. It would be very uneconomical to construct separate combinatorial circuits for every function needed - PowerPoint PPT Presentation

Transcript of Basic Concepts

Page 1: Basic Concepts

1

Basic Concepts http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_2.ppt

Page 2: Basic Concepts

2

TU-DelftTI1400/11-PDS

2

Making functions

time

A,B Y

delay

A

BYADD

nand gates

Page 3: Basic Concepts

3

TU-DelftTI1400/11-PDS

3

Functional Units

• It would be very uneconomical to construct separate combinatorial circuits for every function needed

• Hence, functional units are parameterized

• A specific function is activated by a special control string F

Page 4: Basic Concepts

4

TU-DelftTI1400/11-PDS

4

Arithmetic and Logic Unit

F add subtract compare or

f1 f0 0 0 0 1 1 0 1 1

A

BYF

F

F

A B

YF

Page 5: Basic Concepts

5

TU-DelftTI1400/11-PDS

5

Repeated operations

• Y : = Y + Bi, i=1..n• Repeated addition requires feedback• Cannot be done without intermediate

storage of results

BYF

F

Page 6: Basic Concepts

6

TU-DelftTI1400/11-PDS

6

Registers

BYF

F = storage element

Page 7: Basic Concepts

7

TU-DelftTI1400/11-PDS

Outline

1. Programmable Devices2. A History of Computer Architectures

1. Pre-History (to 1930s)2. 1st Generation: Electro-Mechanical (1930s-

1950s)3. 2nd Generation: Transistors (1955—1975)4. 3rd Generation: Microprocessors (1960s—today)5. 4th Generation: Multi-Computing (1969—today)

Page 8: Basic Concepts

8

TU-DelftTI1400/11-PDS

Memory Organization

• In most computers bitstrings are grouped in strings of 8 bit, called byte

• A word consists of a number of bytes• Is dependent on the type of computer

Page 9: Basic Concepts

9

TU-DelftTI1400/11-PDS

Main memory

• Organized as a linear list of registers or memory locations

• Each memory location has a separate address, usually starting from 0 onwards

Page 10: Basic Concepts

10

TU-DelftTI1400/11-PDS

Memory Organization

• A main memory with a total number of bits can be organized in various ways depending on:- the size of the smallest addressable word- the number of memory locations

• For example: memory contains 4096 bits- 512 bytes of 8 bit- 256 words of 16 bit- 128 words of 32 bits

Page 11: Basic Concepts

11

Question

Why is the memory size usually a power of 2 ?

Page 12: Basic Concepts

12

TU-DelftTI1400/11-PDS

Programmable devices

• A program is a sequence of operations on a stream of operands

• Operations are functions, like F• Operands are data elements (e.g.

numbers)

Page 13: Basic Concepts

13

TU-DelftTI1400/11-PDS

Programmable device

2,1 3ProgrammableDevice

input stream output stream

programREAD(X)READ(Y)ADD(X,Y,Z)WRITE(Z)

• READ(X) means read next input value from input stream and store it internally as variable X

• WRITE(X) means put value in variable X on output stream• ADD(X,Y,Z) means assign value of X+Y to Z

Page 14: Basic Concepts

14

TU-DelftTI1400/11-PDS

Program sequencing• We need a mechanism to execute a

program- FETCH operation that reads next instruction- EXECUTE operation that performs specified

operation on operands• And....repeat it forever:

forever loop FETCH EXECUTEend loop

Page 15: Basic Concepts

15

TU-DelftTI1400/11-PDS

FETCH

READ(X)READ(Y)ADD(X,Y,Z)WRITE(Z)

X: 1Y: 2Z: ?? • •

TEMP_A:TEMP_B:RESULT:

IR: ADD(X,Y,Z)

PC:

arithmeticunit

Central Processing Unit

Harvard Architecture

Page 16: Basic Concepts

16

TU-DelftTI1400/11-PDS

EXECUTE

READ(X)READ(Y)ADD(X,Y,Z)WRITE(Z)

X: 1Y: 2Z: 3 • •

TEMP_A: 1TEMP_B: 2RESULT: 3

IR: ADD(X,Y,Z)

PC:= PC+1

arithmeticunit

Central Processing Unit

Harvard Architecture

Page 17: Basic Concepts

17

Question

How can the previous scheme be simplified ?

Page 18: Basic Concepts

18

TU-DelftTI1400/11-PDS

Von Neumann“Conceptually we have [...] two different forms of

memory: storage of numbers and storage of orders. If, however, the orders to the machine are reduced to a numerical code and if the machine can in some fashion distinguish a number from an order, the memory organ can be used to store both numbers and orders”

Burks, Goldstine, von Neumann “Preliminary discussion of the logical design of an electronic computing instrument”

Page 19: Basic Concepts

19

TU-DelftTI1400/11-PDS

Von Neumann Architecture

READ(X)READ(Y)ADD(X,Y,Z)WRITE(Z)

X: 1Y: 2Z: 3 • •

TEMP_A: TEMP_B: RESULT:

IR:

PC:

arithmeticunit

Central Processing Unit

CONTROL

Memory

Input

Output

Page 20: Basic Concepts

20

TU-DelftTI1400/11-PDS

High Level Programming• Simple program: P:= M*N• Simplify program: P:= M+ .... + M (N times)• Can be expressed as:

R:=0;P:=0;while R<N loop P:=P+M; R:=R+1;end loop

Page 21: Basic Concepts

21

TU-DelftTI1400/11-PDS

Three levels of instructions

fetch/executeimplementation

program executionin hardware

high level programminglanguage

program expressed in ahigh-level language

translation

instruction set program expressed as a series of instructions

direct implementation

Page 22: Basic Concepts

22

TU-DelftTI1400/11-PDS

Operating system

main storeprocessor

diskskeyboard

storagemanager

keyboardhandler

processorscheduler

diskhandler

service programs

hardware

Page 23: Basic Concepts

23

TU-DelftTI1400/11-PDS

Virtual, Multi-layer Machineoperating system interface

service programs

programming language

instruction set

language translator

hardware

Page 24: Basic Concepts

24

TU-DelftTI1400/11-PDS

Outline

1. Programmable Devices2. A History of Computer Architectures

1. Pre-History (to 1930s)2. 1st Generation: Electro-Mechanical (1930s-

1950s)3. 2nd Generation: Transistors (1955—1975)4. 3rd Generation: Microprocessors (1960s—today)5. 4th Generation: Multi-Computing (1969—today)

Page 25: Basic Concepts

25

TU-DelftTI1400/11-PDS

History• Improving speed of operation by

mechanical means- bicycle -> 5 times faster than walking (1 order

of magnitude)- airplane -> 200 times faster than walking (2

o.m.)

• Multiplication of two 9 figure numbers- by hand: 10 minutes- by computer: 100 nanosec (10 o.m.)

• Predicting weather? (accurately)

Page 26: Basic Concepts

26

TU-DelftTI1400/11-PDS

Invention

• Computer is not a single invention• Ideas from mathematics, physics,

mechanical and electrical engineering• Development of calculation machines

strated in 17-th Century:- Pascal: two (+,-) operation machine in

1642- Leibnitz: four operation machine in 1671

Page 27: Basic Concepts

27

TU-DelftTI1400/11-PDS

Calculators

• Machines of Pascal and Leibnitz were mechanical calculators

• Could do single operation at a time• Lead to electronic calculators in 1975

Page 28: Basic Concepts

28

TU-DelftTI1400/11-PDS

Programmable devices

• Devices that could execute a program existed in different areas:

• Mechanical Music Instruments- Bagdad, 9-th Century- Carillons

• Chess / Mechanical Turk (1770)?• Punch Cards for weaving machines

- Jaquard (end 18-th Century)

Page 29: Basic Concepts

29

TU-DelftTI1400/11-PDS

The Jaquard Loom (actually, Head)

Page 30: Basic Concepts

30

TU-DelftTI1400/11-PDS

Difference Engine

• Invented by Johann Helfrich von Müller (1786)• Used by Charles Babbage (1822)

Page 31: Basic Concepts

31

TU-DelftTI1400/11-PDS

Charles Babbage

• Inspired by Jaquard mechanism• Designed “Analytical Engine” (1837)• Never completed• First machine with stored

program concept (calculations+order sequences)

Page 32: Basic Concepts

32

TU-DelftTI1400/11-PDS

Herman Hollerith

• Punch Cards for processing census data of the 1890 census in US

• Great success• Founded Tabulating Machine Company

(1889). Later became IBM.

Page 33: Basic Concepts

33

TU-DelftTI1400/11-PDS

Mathematical Influence

• George Boole (1854) showed that logic could be reduced to a simple algebraic system

• Work remained a curiosity until rediscovered by Whitehead and Russell in Principia Mathematica (1910-1913)

• Then, formal logic developed resulting in Gödel and the work of Alan Turing

Page 34: Basic Concepts

34

TU-DelftTI1400/11-PDS

Analog Computers

• Analog computers predated digital computers- Slide rule- Mechanical integrators used in differential

analyzers (Vannevar Bush, 1931)• First systems that enabled significant

reduction of calculation times

Page 35: Basic Concepts

35

TU-DelftTI1400/11-PDS

Mechanical analog computer

Page 36: Basic Concepts

36

TU-DelftTI1400/11-PDS

Outline

1. Programmable Devices2. A History of Computer Architectures

1. Pre-History (to 1930s)2. 1st Generation: Electro-Mechanical (1930s-

1950s)3. 2nd Generation: Transistors (1955—1975)4. 3rd Generation: Microprocessors (1960s—today)5. 4th Generation: Multi-Computing (1969—today)

Page 37: Basic Concepts

37

TU-DelftTI1400/11-PDS

Electro-Mechanical DevicesASCC• 1937-1944, Howard Aiken builds the Automatic

Sequence Controlled Calculator (ASCC), an electro-mechanical device - First general-purpose digital computer- 750,000 components, 5 tons

• Goal: 100 times faster than by hand • Reality: 3-5 times faster

“Only six electronic digital computers would be

required to satisfy the computing needs of the entire United States.”

Page 38: Basic Concepts

38

TU-DelftTI1400/11-PDS

Electro-Mechanical DevicesENIAC• 1943-1947, John Mauchly and John Presper

Eckert started building the Electronic Numerical Integrator and Calculator (ENIAC). - First all-electronic computer- 18,000 tubes, 1,500 relays, 150 kilowatt dissipation- Large office space

Page 39: Basic Concepts

39

TU-DelftTI1400/11-PDS

Electro-Mechanical DevicesProblems with ENIAC

• Each time switched on: 10 tubes failed• Difficult to program• Not very flexible• Technologically too complex• Decentralized control• Too small a memory

Page 40: Basic Concepts

40

TU-DelftTI1400/11-PDS

Electro-Mechanical DevicesEDVAC• Problems analyzed by John von

Neumann• Proposed new design: Electronic

Discrete Variable Automatic Computer (EDVAC)

• Basis so called Von Neumann Architecture

Memory

CPU

I O

Page 41: Basic Concepts

41

TU-DelftTI1400/11-PDS

Harvard or von Neumann Architecture?• Harvard Architecture

- Separate Instruction and Data memories (word size)- Separate memory-CPU pathways

• Von Neumann Architecture- Single Instruction and Data memory- Separate memory-CPU pathways

• Answer: Modified Harvard Architecture (hybrid)- Separate CPU (L1) caches for Instruction and Data- Unified memory hierarchy outside L1

Page 42: Basic Concepts

42

TU-DelftTI1400/11-PDS

Outline

1. Programmable Devices2. A History of Computer Architectures

1. Pre-History (to 1930s)2. 1st Generation: Electro-Mechanical (1930s-1950s)3. 2nd Generation: Transistors (1955—1975)4. 3rd Generation: Microprocessors (1960s—

today)5. 4th Generation: Multi-Computing (1969—today)

Page 43: Basic Concepts

43

TU-DelftTI1400/11-PDS

Transistors (1955—1975) and Microprocessors (1960s—today)

• Transistors- Reliable- Less power- Smaller

• U. Manchester (1953)• PDP-1

- 10 us / arith. instruction

• Integrated Circuits- Enabled small, low-

costmicroprocessors

• MOS Tech (ATARI)• Commodore PET• Apple & Apple ][• Current technology

Page 44: Basic Concepts

44

TU-DelftTI1400/11-PDS

Outline

1. Programmable Devices2. A History of Computer Architectures

1. Pre-History (to 1930s)2. 1st Generation: Electro-Mechanical (1930s-1950s)3. 2nd Generation: Transistors (1955—1975)4. 3rd Generation: Microprocessors (1960s—today)5. 4th Generation: Multi-Computing (1969—

today)

Page 45: Basic Concepts

45

TU-DelftTI1400/11-PDS

The Internet: Early History• 1965-1969 ARPANET

- Leonard Kleinrock developsthe Queueing Theory (theoretical properties of the Internet)

- 4 computers at UC Santa BarbaraUC Los AngelesStanford Research Inst.U of Utah

• 1972 ARPANET public + Email• 1974 TCP/IP at Stanford• 1982 ARPANET + TCP/IP = the (early) Internet

Drawing by Alex McKenzie, Dec 1969

Page 46: Basic Concepts

46

TU-DelftTI1400/11-PDS

The Internet Today

net, ca, uscom, orgmil, gov, eduasiade, uk, it, fr, plbr, kr, nlunknown

Source: http://www.opte.org/maps/

Page 47: Basic Concepts

47

TU-DelftTI1400/11-PDS

Internet-Based Applications

Page 48: Basic Concepts

48

TU-DelftTI1400/11-PDS

ResearchABILENE: Backbone Research Network• Test: Land Speed Record

• ~ 7 Gb/s in single TCP stream from Geneva to Caltech

Source: MonALISA monitoring framework, 2005

Page 49: Basic Concepts

49

TU-DelftTI1400/11-PDS

ResearchGrid Computing

• The Grid = integration of computers as day-to-day computing utility, similar to phone, water, and electricity

- Economy of scale: better service at lower cost- Large-scale reality: operational overhead, functionality

(robustness + manageability), real heterogeneity

• Primary users- E-Science: high-energy physics, earth sciences, bioinformatics- Industry: financial services, search engines (Google)

Just plug in the computing grid and get your results

Page 50: Basic Concepts

50

TU-DelftTI1400/11-PDS

ResearchGrids: Vision vs. Reality• Many grids deployed, but not The Grid• Cloud computing?