But recently ...
ENIAC
IBM 704
IBM S/360 M50
VAX 11-780
Sun SPARCStation 2
Dell 4600
date
1946
1955
1965
1978
1992
2003
addition time
200 usec
24 usec
4 usec
400 nsec
25 nsec
208 psec
memory cycle time
12 usec
2 usec
200 nsec
80 nsec
3 nsec
standard memory size
168 KB
64 KB
128 KB
128 MB
256 MB
rental
$48,000/mo.
$32,000/mo.
$6,000/mo.
purchase
$500,000
$1,390,000
$409,000
$128,000
$15,000
$800
constant 2003 dollars
$4.7M
$9.5M
$2.4M
$360,000
$19,600
$800
CPU technology
17,500 vacuum tubes
5,000 vacuum tubes in CPU
~ 25 K SLT circuits on 72 circuit boards
1500 TTL chips on 20 circuit boards
1.8 M transistors in CY7C601 IU
55 M transistors in Pentium 4
CPU performance
CPU_time = IC * CPI * CCT
cycles secs
= i insts * j ------ * k ----- = ijk secs
inst cycle
IC * CPI
CPU_time = ---------------
Clock_Frequency
IC_i
CPU_time = sum ( IC * CPI ) * CCT = IC * sum ( ---- * CPI ) * CCT
i i IC i
i i
Consider the following instruction mix
IC_i / IC CPI_i
operation frequency cycle count weighted CPI_i
--------- --------- ----------- --------------
ALU op 50% 1 _____
Loads 20% 2 _____
Stores 10% 3 _____
Branches 20% 4 _____
a) What is the average CPI?
CPI = (.5*1) + (.2*2) + (.1*3) + (.2*4) = .5 + .4 + .3 + .8 = 2.0
b) If branch cycles are reduced to 2, do you have enough information to
determine how much faster the modified processor will be than the
original processor?
CPU_time_old IC * CPI_old * CCT CPI_old
speedup = ------------ = ------------------ = -------
CPU_time_new IC * CPI_new * CCT CPI_new
CPI_old = 2.0
CPI_new = (.5*1) + (.2*2) + (.1*3) + (.2*2) = .5 + .4 + .3 + .4 = 1.6
speedup = 2.0 / 1.6 = 1.25
Cray T3E manual sections on optimizing for cache