Académique Documents
Professionnel Documents
Culture Documents
I slightly revised the surveys of the subjects and added slide numbers now.
Stefan Freinatis, March 2007
Computer Architecture
* Actually, this is the internet version of the lecture slides. With respect to the slides used in the lectures, animations are removed (errors hopefully as well) and additional text is added.
Slide 1
Computer Architecture
WS 06/07
Slide 2
Computer Architecture
WS 06/07
Computer Architecture
Lecture Dr.-Ing. Stefan Freinatis
Fachgebiet Verteilte Systeme (Prof. Geisselhardt) Raum BB 1017
Computer Architecture
25.10.06 01.11.06 All Saints Day (public holiday in NRW, no lectures) 08.11.06 15.11.06 22.11.06 29.11.06 Lecture: 08:15 09:45 06.12.06 Exercise: 10:00 10:45 13.12.06 20.12.06 10.01.07 17.01.07 24.01.07 31.01.07 07.02.07
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Slide 4
Resources
Homepage Verteilte Systeme
Computer Architecture
Topics
Introduction & History
http://www.fb9dv.uni-duisburg.de/vs/de/index.htm
Computer Architecture
WS 06/07
Literature
[HP03] J. Hennessy, D. Patterson: Computer Architecture A Quantitative Approach, 3rd ed., Elsevier Science, 2003, ISBN 1-55860-724-2. J. Hennessy, D. Patterson: Computer Architecture A Quantitative Approach, 4th ed., Elsevier Science, 2006, ISBN 0-12-370490-1 . A. Silberschatz: Applied Operating System concepts, 1st ed., John Wiley & Sons, 2000, ISBN 0-471-36508-4. A. Tanenbaum: Modern Operating Systems, 2nd ed., Prentice Hall, 2001, ISBN 0-13-092641-8.
Computer Architecture
[HP06]
Introduction
[Sil00]
[Ta01]
Slide 7
Computer Architecture
WS 06/07
Slide 8
Computer Architecture
WS 06/07
Introduction
Computer Architecture is the conceptual design and fundamental operational structure of a computer system [Wikipedia]. Computer Architecture encompasses [HP03 p.9]: Instruction set architecture
stack or accumulator or general purpose register architecture
Commercial servers
databases, transaction processing, highly reliable
Organization
memory system, bus structure, CPU design
Hardware
machine specifics, logic design, technology
Slide 9 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Embedded computing
low power, small size, safety critical
Slide 10 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Computer
Introduction
History
Introduction
A computer is a person or an apparatus that is capable of processing information by applying calculation rules.
Generalized technology independent definition.
~ 5000 bc
Basis of calculating is counting. 10 fingers decimal system Abacus (Suan Pan, Soroban)
~ 1000 bc
A computer is a machine for manipulating data according to a list of instructions known as program [Wikipedia] .
Chinese Suan Pan
Slide 11 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis Slide 12 Computer Architecture WS 06/07
Roman Abacus
Dr.-Ing. Stefan Freinatis
History
Introduction
History
Introduction
300 bc 1000 ac
M D C L X V I
History
Introduction
History
Introduction
~ 500 ac
1623
Wilhelm Schickard
Calculation machine
1641
Blaise Pascal
Adding machine
1679
G.W. Leibniz
Dyadic system (binary system)
1808
J. M. Jaquard
Punch card controlled loom
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Slide 16
History
Introduction
History
Introduction
1833
Charles Babbage
Difference Engine
1847
George Boole
Logic on mathematical statements
1890
H. Hollerith
Punch card based tabulating machine
Data memory, program memory Instruction based operation Conditional jumps I/O unit
Slide 17 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis Slide 18 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Digital data logging on punch cards. First electro mechanical data processing.
History
Introduction
History
Introduction
1936
Alan Turing
Philosophy of information, Turing machine Founder of Computer Science
1941
Konrad Zuse
First electro-mechanic computer Z3 Binary arithmetic, floating point
Z3 rebuild in 1961
Slide 19 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
History
Introduction
v. Neumann Model
A computer consists of 5 units
Introduction
1945
John v. Neumann
Concept of universal computer systems Founder of Computer Architecture
Input
data
Memory Output
data
data
ALU
instructions
Control Unit
Interpretation of the program. Timing control of units.
control signals
control signals
Control
v. Neumann Model
Introduction
Characteristics
von Neumann Model
Today:
Input unit and output unit are combined (not necessarily physically!) to form the Input/Output unit (short: I/O unit). The control unit and the ALU are combined to form the microprocessor.
Input / Output
Addresses
Memory
Data Control
Microprocessor (CPU)
Microcomputer
Sequential processing
Execution of a program is done instruction by instruction.
Slide 24 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Slide 23
Computer Architecture
v. Neumann Model
Steps in executing an instruction
1. Fetch instruction from memory and put it into instruction register (in CPU). 2. Evaluate instruction (decode instruction) 3. When needed for this particular instruction, address the data (the operands) in memory. 4. Fetch the data (usually into CPU internal registers). 5. Perform operation on the data (usually this is carried out by the ALU) and write back the results. 6. Adjust address counter to point to next instruction.
Slide 25 Computer Architecture WS 06/07
v. Neumann Bottleneck
Introduction
Introduction
The
Instruction phase
CPU side
Bus System
A address of B B address of C C
address of A
Memory side
Data phase
The
time
Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
v. Neumann Bottleneck
Introduction
Computer Performance
Introduction
The data is processed faster by the CPU than it can be taken from or stored in memory.
The processor memory interface is crucial for the overall computation performance. Reduction of the bottleneck effect through introduction of a hierarchical memory organization. Register Cache Main memory
Slide 27 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
P=
W t
Work can have the meaning of processing an instruction, carrying out a floating-point or an integer operation, processing a standardized program (benchmark)
Slide 28 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
Computer Performance
Introduction
Computer Performance
Introduction
Many performance measures are not very expressive ... as they do not
consider the number of instructions being carried out per cycle (parallel execution), cover the effective throughput between CPU and memory, distinguish between complex instruction set computer (CISC) and reduced instruction set computer (RISC).
Dr.-Ing. Stefan Freinatis Slide 30 Computer Architecture WS 06/07 Dr.-Ing. Stefan Freinatis
MIPS
Million instructions per second
FLOPS
Floating point operations per second
Slide 29
Computer Architecture
WS 06/07
Computer Performance
Computer performance compared Many performance measures to a VAX-11/780 from 1978.
Introduction
Moores Law
Introduction
are not
Moores Law:
N t N 0 10 0.15 t
Computer Architecture WS 06/07
where t is in [years]
Moores Law
Computer Architecture
Operating Systems