Upload
elmer-miller
View
213
Download
0
Embed Size (px)
Citation preview
2
Why do you want to study Computer Architecture? Because….You won’t graduate if you don’t take this course. Because….You want to design the next great instruction set.
Instruction set architecture has largely converged, especially in the desktop/server/laptop space.
Dictated by powerful market forces (Intel/ARM). Because….You want to become a computer architect and
design the next great computer systems. Because….The design, analysis, implementation concepts that
you will learn are vital to all aspects of computer science and engineering – operating systems, computer networks, compiler, programming languages
Because….The course will equip you with an intellectual toolbox for dealing with a host of systems design challenges
From Prof. Fernando C. Colon Osorio’s lecture notes
Seoul National University
3
Course Goals
To understand Interfaces
Instruction Set Architecture (ISA) – The Hardware/Software Interface Engineering methodology / Correctness criteria / Evaluation methods /
Technology trends involved in Processor Cache memory Virtual memory I/O system
Seoul National University
5
Abstract Data Type (ADT) as an Example of Interface Abstract data type : A set of data values (state) and
associated operations that are precisely specified independent of any particular implementation
ADT Example : stack
push
is_empty
pop
··
stack S
(top)
(bottom)
Cre
ate_
stac
kD
estroy_stack
Seoul National University
6
Abstract Data Type (ADT) as an Example of Interface Operations viewed as state transformation
215
S
(Before) stack
215
S`
4
(After) stack
Push (s, 4)
Seoul National University
7
Abstraction
Before After
Jeff Kramer, “Is Abstraction the Key to Computing,” Communications of ACM, April 2007, Vol. 50, No. 4, pp. 37 - 42.
Seoul National University
9
Abstraction
Before After
Jinwook Seo, “Information Visualization Design for Map Use on Future Mobile Devices (Presentation at Samsung Electronics, Dec. 8, 2008)
Seoul National University
10
Instruction Set Architecture (ISA)
assemblercomplier
Operating Systemlibrary
ISA
S/W
H/W
Application
Seoul National University
11
Instruction Set Architecture as an ADT “…the attributes of a [computing] system as seen
by the programmer, i.e. the conceptual structure (state) and functional behavior (operations), as distinct from the organization of the data flow and controls, the logical design, and the physical implementation.”
- Amdahl, Blaauw, and Brooks, 1964
Registers + Memory
instructioninstruction instruction…..
instructioninstruction instruction…..
inst
ruct
ion
Seoul National University
12
Instruction Set Architecture as an ADT
Before Register and Memory
add r1, r2, r3
2021
r3128
r2r1r0
PC
63
242322
027
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)
After Register and Memory
Registers
Memory
212
20
r3128
r2r1r0
PC
63
242322
027
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Seoul National University
13
Instruction Set Architecture as an ADT
Before Register and Memory
lw r2, 1(r0)
After Register and Memory
222
20
r378
r2r1r0
PC
63
242322
027
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
212
20
r3128
r2r1r0
PC
63
242322
027
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Seoul National University
14
Instruction Set Architecture as an ADT
Before Register and Memory
sw r3, 0(r0)
After Register and Memory
232
20
r378
r2r1r0
PC
63
242322
087
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
222
20
r378
r2r1r0
PC
63
242322
027
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Seoul National University
15
Instruction Set Architecture as an ADT
Before Register and Memory
beq r0, r1, 2
After Register and Memory
242
20
r378
r2r1r0
PC
63
242322
087
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
232
20
r378
r2r1r0
PC
63
242322
087
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Seoul National University
16
Instruction Set Architecture as an ADT
Before Register and Memory
j 15
After Register and Memory
150
20
r378
r2r1r0
PC
63
242322
087
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
240
20
r378
r2r1r0
PC
63
242322
087
40
21
3
··2021
··
(add r1, r2, r3)
(lw r2, 1(r0))
(sw r3, 0(r0))
(beq r0, r1, 2)
(j 15)Registers
Memory
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Assumptions 8 bit ISA # of registers = 4 + PC (Program Counter) Memory size = 64B
Seoul National University
17
Design Techniques
For Each Design Technique Engineering methodologyCorrectness criteria Evaluation methods Technology trends
Seoul National University
18
Design Techniques
Processor
I-cache
Unified cache
D-cache
Processor
Memory Hierarchy
Input/Outputand Storage
To main memory / I/O Systems
Sequential implementationPipelined implementationOut of order executionSpeculative execution
Cache Memory
Virtual Memory
Seoul National University
19
Engineering methodology
Rule 1 : Identify and optimize the common case
Rule 2 : Make the rare case correct and reasonably fast
Seoul National University
20
Correctness criteria
Examples Pipelined execution : pipelined execution of instructions is
correct if the results is as if the instructions were executed sequentially
Cache memory : execution of instructions on a system with cache memory is correct if the results is as if the instructions were executed on the same system but without cache memory
We’ll see a lot of as if’s
Seoul National University
21
Performance Evaluation Methods
Performance types Time
response time execution time
Rate throughput : MIPS, MFLOPS bandwidth : Mbps
Ratio relative performance (both time and rate)
Seoul National University
22
Technology Trends
Transistors Per Die Trends Processor Performance Trends
Processor Computations/Energy Trends Processor Clock Rate/Power Trends
DRAM Technology Trends Hard Disk Drive (HDD) Technology Trends Flash Memory Technology Trends
Seoul National University
24
Processor Performance Trends
Seoul National University
David A. Patterson and John L. Hennessy. “Computer Organization and Design, Fourth Edition: The Hardware/Software Interface” Morgan Kaufmann Publishers, 2009.
25
Processor Computations/Energy Trends
J. G. Koomey, et al. “Outperforming Moore’s Law” IEEE Spectrum, Vol. 47, No. 3, Mar. 2010, pp. 68 – 68.
Seoul National University
26
Processor Clock Rate/Power Trends
FrequencyVoltageload CapacitivePower 2
S. H. Fuller and L. I. Millett. “Computing Performance: Game Over or Next Level” IEEE Computer, Vol. 44, No. 1, Jan. 2011, pp. 31 – 38.
Seoul National University
David A. Patterson and John L. Hennessy. “Computer Organization and Design, Fourth Edition: The Hardware/Software Interface” Morgan Kaufmann Publishers, 2009.
27
DRAM Technology Trends
year size cycle time
1980 64 Kbits 250 ns
1983 256 Kbits 220 ns
1986 1 Mbits 190 ns
1989 4 Mbits 165 ns
1992 16 Mbits 145 ns
1996 64 Mbits 125 ns
2000 256 Mbits 100 ns
(4x in three years)60% increase/year
(4x in four years)
Seoul National University
David A. Patterson and John L. Hennessy. “Computer Organization and Design, Fourth Edition: The Hardware/Software Interface” Morgan Kaufmann Publishers, 2009.
28
Hard Disk Drive (HDD) Technology Trends
Disk density: 1.50x - 1.60x per year (4x in three years)
E. Grochowski and R. E. Fontana, Jr., “An Analysis of Flash and HDD Technology Trends,” Flash Memory Summit 2011.
Seoul National University
29
Flash Memory Technology Trends
S. Deutsch, “Bringing Solid State Drives to Mainstream Notebooks,” Flash Memory Summit 2007.
P. Ranganathan. “From Microprocessors to Nanostores: Rethinking Data-Centric Systems,” IEEE Computer, Vol. 44, No. 1, Jan. 2011, pp. 39 – 48.
Seoul National University
30
Pitfalls of Computer Technology Forecasting DOS addresses only 1 MB of RAM because we
cannot imagine any applications needing more.” Microsoft, 1980
“640K ought to be enough for anybody.” Bill Gates, 1981
“Computers in the future may weigh no more than 1.5 tons.” Popular Mechanics
“I think there is a world market for maybe five computers.” Thomas Watson, IBM Chairman, 1943
“There is no reason anyone would want a computer in their home.” Ken Olsen, DEC founder, 1977
“The 32-bit machine would be an overkill for a personal computer.” Sol Libes, ByteLines
From Prof. Behrooz Parhami’s lecture notes
Seoul National University