1 Introduction Basic concepts Basic concepts Terminology Terminology.
Basic Concepts
description
Transcript of Basic Concepts
1
Basic Concepts http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_2.ppt
2
TU-DelftTI1400/11-PDS
2
Making functions
time
A,B Y
delay
A
BYADD
nand gates
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
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
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
6
TU-DelftTI1400/11-PDS
6
Registers
BYF
F = storage element
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)
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
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
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
11
Question
Why is the memory size usually a power of 2 ?
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)
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
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
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
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
17
Question
How can the previous scheme be simplified ?
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”
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
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
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
22
TU-DelftTI1400/11-PDS
Operating system
main storeprocessor
diskskeyboard
storagemanager
keyboardhandler
processorscheduler
diskhandler
service programs
hardware
23
TU-DelftTI1400/11-PDS
Virtual, Multi-layer Machineoperating system interface
service programs
programming language
instruction set
language translator
hardware
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)
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)
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
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
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)
29
TU-DelftTI1400/11-PDS
The Jaquard Loom (actually, Head)
30
TU-DelftTI1400/11-PDS
Difference Engine
• Invented by Johann Helfrich von Müller (1786)• Used by Charles Babbage (1822)
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)
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.
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
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
35
TU-DelftTI1400/11-PDS
Mechanical analog computer
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)
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.”
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
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
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
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
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)
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
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)
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
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/
47
TU-DelftTI1400/11-PDS
Internet-Based Applications
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
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
50
TU-DelftTI1400/11-PDS
ResearchGrids: Vision vs. Reality• Many grids deployed, but not The Grid• Cloud computing?