30
1 Seoul National University Introduction

1 Seoul National University Introduction. 2 Why do you want to study Computer Architecture? Because….You won’t graduate if you don’t take this course

Embed Size (px)

Citation preview

1

Seoul National University

Introduction

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

4

Interface

Source : http://www.webster.com

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

8

Abstraction

Before After

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

23

Transistors Per Die Trends

Source: www.icknowledge.com

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