chapter 1 — computer abstractions and technology — 1 technology trends electronics technology...

23
Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends • Electronics technology continues to evolve – Increased capacity and performance Reduced cost Year Technology Relative performance/cost 1951 Vacuum tube 1 1965 Transistor 35 1975 Integrated circuit (IC) 900 1995 Very large scale IC (VLSI) 2,400,000 2013 Ultra large scale IC 250,000,000,000 DRAM capacity

Upload: jasmin-patrick

Post on 17-Jan-2016

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 1

Technology Trends• Electronics

technology continues to evolve– Increased capacity and

performance– Reduced cost

Year Technology Relative performance/cost

1951 Vacuum tube 1

1965 Transistor 35

1975 Integrated circuit (IC) 900

1995 Very large scale IC (VLSI) 2,400,000

2013 Ultra large scale IC 250,000,000,000

DRAM capacity

Page 2: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Microprocessor Complexity

2X Transistors / ChipEvery 1.5 years

Called “Moore’s Law”

Gordon MooreIntel Cofounder

Year

# o

f tr

ansi

sto

rs o

n a

n I

C

Page 3: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Memory Capacity (Single-Chip DRAM)

size

Year

Bit

s

1000

10000

100000

1000000

10000000

100000000

1000000000

1970 1975 1980 1985 1990 1995 2000

year size (Mbit) 1980 0.06251983 0.25

1986 11989 41992 161996 641998 1282000 2562002 5122004 1024

(1Gbit)2006 2048 (2Gbit)

• Now 1.4X/yr, or 2X every 2 years• 8000X since 1980!

Bit

s

Year

Page 4: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

• Memory– DRAM capacity: 2x / 2 years (since ‘96);

64x size improvement in last decade

• Processor– Speed 2x / 1.5 years (since ‘85); [slowing!]

100X performance in last decade

• Disk– Capacity: 2x / 1 year (since ‘97)

250X size in last decade

Computer Technology – Dramatic Change!

Page 5: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Performance Metrics• Purchasing perspective

– given a collection of machines, which has the • best performance ?• least cost ?• best cost/performance?

• Design perspective– faced with design options, which has the

• best performance improvement ?• least cost ?• best cost/performance?

• Both require– basis for comparison– metric for evaluation

• Our goal is to understand what factors in the architecture contribute to overall system performance and the relative importance (and cost) of these factors

Page 6: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 6

Defining Performance• Which airplane has the best performance?

0 100 200 300 400 500

DouglasDC-8-50

BAC/ SudConcorde

Boeing 747

Boeing 777

Passenger Capacity

0 2000 4000 6000 8000 10000

Douglas DC-8-50

BAC/ SudConcorde

Boeing 747

Boeing 777

Cruising Range (miles)

0 500 1000 1500

DouglasDC-8-50

BAC/ SudConcorde

Boeing 747

Boeing 777

Cruising Speed (mph)

0 100000 200000 300000 400000

Douglas DC-8-50

BAC/ SudConcorde

Boeing 747

Boeing 777

Passengers x mph

Page 7: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 7

Response Time and Throughput

• Response time– How long it takes to do a task

• Throughput– Total work done per unit time

• e.g., tasks/transactions/… per hour

• How are response time and throughput affected by– Replacing the processor with a faster version?– Adding more processors?

• We’ll focus on response time for now…

Page 8: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 8

Relative Performance• Define Performance = 1/Execution Time• “X is n time faster than Y”

n XY

YX

time Executiontime Execution

ePerformancePerformanc

Example: time taken to run a program 10s on A, 15s on B Execution TimeB / Execution TimeA

= 15s / 10s = 1.5 So A is 1.5 times faster than B

Page 9: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 9

Measuring Execution Time

• Elapsed time– Total response time, including all aspects

• Processing, I/O, OS overhead, idle time– Determines system performance

• CPU time– Time spent processing a given job

• Discounts I/O time, other jobs’ shares– Comprises user CPU time and system CPU time– Different programs are affected differently by CPU

and system performance

Page 10: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 10

CPU Clocking• Operation of digital hardware governed by a

constant-rate clock

Clock (cycles)

Data transferand computation

Update state

Clock period

Clock period: duration of a clock cycle e.g., 250ps = 0.25ns = 250×10–12s

Clock frequency (rate): cycles per second e.g., 4.0GHz = 4000MHz = 4.0×109Hz

Page 11: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Review: Machine Clock Rate• Clock rate (clock cycles per second in MHz or

GHz) is inverse of clock cycle time (clock period)CC = 1 / CR

one clock period

10 nsec clock cycle => 100 MHz clock rate

5 nsec clock cycle => 200 MHz clock rate

2 nsec clock cycle => 500 MHz clock rate

1 nsec (10-9) clock cycle => 1 GHz (109) clock rate

500 psec clock cycle => 2 GHz clock rate

250 psec clock cycle => 4 GHz clock rate

200 psec clock cycle => 5 GHz clock rate

Page 12: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 12

CPU Time

• Performance improved by– Reducing number of clock cycles– Increasing clock rate– Hardware designer must often trade off clock rate

against cycle count

Rate Clock

Cycles Clock CPU

Time Cycle ClockCycles Clock CPUTime CPU

Page 13: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 13

CPU Time Example• Computer A: 2GHz clock, 10s CPU time• Designing Computer B

– Aim for 6s CPU time– Can do faster clock, but causes 1.2 × clock cycles

• How fast must Computer B clock be?

4GHz6s

1024

6s

10201.2Rate Clock

10202GHz10s

Rate ClockTime CPUCycles Clock

6s

Cycles Clock1.2

Time CPU

Cycles ClockRate Clock

99

B

9

AAA

A

B

BB

Page 14: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 14

Instruction Count and CPI

• Instruction Count for a program– Determined by program, ISA and compiler

• Average cycles per instruction– Determined by CPU hardware– If different instructions have different CPI

• Average CPI affected by instruction mix

Rate Clock

CPICount nInstructio

Time Cycle ClockCPICount nInstructioTime CPU

nInstructio per CyclesCount nInstructioCycles Clock

Page 15: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 15

CPI Example• Computer A: Cycle Time = 250ps, CPI = 2.0• Computer B: Cycle Time = 500ps, CPI = 1.2• Same ISA• Which is faster, and by how much?

1.2500psI

600psI

ATime CPUBTime CPU

600psI500ps1.2IBTime CycleBCPICount nInstructioBTime CPU

500psI250ps2.0IATime CycleACPICount nInstructioATime CPU

A is faster…

…by this much

Page 16: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 16

CPI in More Detail• If different instruction classes take different

numbers of cycles

n

1iii )Count nInstructio(CPICycles Clock

Weighted average CPI

n

1i

ii Count nInstructio

Count nInstructioCPI

Count nInstructio

Cycles ClockCPI

Relative frequency

Page 17: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 17

CPI Example• Alternative compiled code sequences using

instructions in classes A, B, C

Class A B C

CPI for class 1 2 3

IC in sequence 1 2 1 2

IC in sequence 2 4 1 1

Sequence 1: IC = 5 Clock Cycles

= 2×1 + 1×2 + 2×3= 10

Avg. CPI = 10/5 = 2.0

Sequence 2: IC = 6 Clock Cycles

= 4×1 + 1×2 + 1×3= 9

Avg. CPI = 9/6 = 1.5

Page 18: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

A Simple Example

• How much faster would the machine be if a better data cache reduced the average load time to 2 cycles?

• How does this compare with using branch prediction to shave a cycle off the branch time?

• What if two ALU instructions could be executed at once?

Op Freq CPIi Freq x CPIi

ALU 50% 1

Load 20% 5

Store 10% 3

Branch 20% 2

=

.5

1.0

.3

.4

2.2

CPU time new = 1.6 x IC x CC so 2.2/1.6 means 37.5% faster

1.6

.5

.4

.3

.4

.5

1.0

.3

.2

2.0

CPU time new = 2.0 x IC x CC so 2.2/2.0 means 10% faster

.25

1.0

.3

.4

1.95

CPU time new = 1.95 x IC x CC so 2.2/1.95 means 12.8% faster

Page 19: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Determinates of CPU Performance CPU time = Instruction_count x CPI x clock_cycle

Instruction_count

CPI clock_cycle

Algorithm

Programming language

Compiler

ISA

Core organization

Technology

Page 20: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Determinates of CPU Performance CPU time = Instruction_count x CPI x clock_cycle

Instruction_count

CPI clock_cycle

Algorithm

Programming language

Compiler

ISA

Core organization

TechnologyX

XX

XX

X X

X

X

X

X

X

Page 21: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 22

Performance Summary

• Performance depends on– Algorithm: affects IC, possibly CPI– Programming language: affects IC, CPI– Compiler: affects IC, CPI– Instruction set architecture: affects IC, CPI, Tc

The BIG Picture

cycle Clock

Seconds

nInstructio

cycles Clock

Program

nsInstructioTime CPU

Page 22: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 23

Power Trends

• In CMOS IC technology

FrequencyVoltageload CapacitivePower 2

×1000×40 5V → 1V

Page 23: Chapter 1 — Computer Abstractions and Technology — 1 Technology Trends Electronics technology continues to evolve – Increased capacity and performance

Chapter 1 — Computer Abstractions and Technology — 24

Reducing Power• Suppose a new CPU has

– 85% of capacitive load of old CPU– 15% voltage and 15% frequency reduction

0.520.85FVC

0.85F0.85)(V0.85C

P

P 4

old2

oldold

old2

oldold

old

new

The power wall We can’t reduce voltage further We can’t remove more heat

How else can we improve performance?