1.10
給分別的指令數、CPI
1.10.1
求指令數
a:
processor instruction
(1) 2560 + 1280 + 256 = 4096
(2) 1280 + 640 + 128 = 2048
(4) 640 + 320 + 640 = 1024
(8) 320 + 160 + 32 = 512
Total instruction
(1) 4096*1 = 4096
(2) 2048*2 = 4096
(4) 1024*4 = 4096
(8) 512*8 = 4096
b:
processor instruction
(1) 2560 + 1280 + 256 = 4096
(2) 1350 + 800 + 128 = 2278
(4) 800 + 600 + 64 = 1464
(5) 600 + 500 + 32 = 1132
Total instruction
(1) 4096*1 = 4096
(2) 2278*2 = 4556
(4) 1464*4 = 5856
(8) 1132*8 = 9056
1.10.2
找Execution time (clock rate = 2GHz)
a:
(1)
2560*1 + 1280*4 + 256*2
= 2560 + 5120 + 512
= 8192
8192/2GHz = 4096 ns
(2)
1280*1 + 640*4 + 128*2
= 1280 + 2560 + 256
=4096
4096 / 2GHz = 2048 ns
(4)
640*1 + 320*4 + 64*2
= 640 + 1280 + 238
= 2048
2048 / 2GHz = 1024 ns
(8)
320*1 + 160*4 + 32*2
= 320 + 640 +64
= 1024
1024 / 2GHz = 512 ns
b:
(1)
2560*1 + 1280*4 + 256*2
= 2560 + 5120 + 512
= 8192
8192 / 2GHz = 4096 ns
(2)
1350*1 + 800*6 + 128*2
= 1350 + 4800 + 256
= 6406
6406 / 2GHz = 3203 ns
(4) 800*1 + 600*9 + 64*2
= 800 + 5400 + 128
= 6328
6328 / 2GHz = 3164ns
(8) 600*1 + 500 *13 + 32*2
= 600 + 6500 + 64
= 7164
7164 / 2GHz = 6582ns
1.10.3
Arithmetic 的指令數變為兩倍,對於Execution time的影響
a:
(1)
2560*2*1 + 1280*4 + 256*2
= 5120 + 5120 + 512
= 10752
10752 / 2GHz = 5376ns
(2)
1280*2*1 + 640*4 + 128*2
= 2560 + 2560 + 256
= 5376
5376 / 2GHz = 2688ns
(4)
640*2*1 + 320*4 + 64*2
= 1280 + 1280 + 128
= 2688
2688 / 2GHz = 1344ns
(8)
320*2*1 + 160*4 + 32*2
= 640 + 640 + 64
= 1344
1344 / 2GHz = 372ns
b:
(1)
2560*2*1 + 1280*4 + 256*2
= 5120 + 5120 + 512
= 10752
10752 / 2GHz = 5376ns
(2)
1350*2*1 + 800*6 + 128*2
= 2700 + 4800 + 256
= 7756
7756 / 2GHz = 3878ns
(4)
800*2*1 + 600*9 + 64*2
= 1600 + 5400 + 128
= 7128
7128 / 2GHz = 3564ns
(8)
600*2*1 + 500*13 + 32*2
= 1200 + 6500 + 64
= 7764
7764 / 2GHz = 3882ns
<我是Exercise 1.10的分隔線>
也是給a、b
分別有 Cores per processor、Instructions per core、Averge CPI
<我是Exercise 1.10的分隔線>
1.10.4
假設 3GHz clock frequency
求execution time
a:
(1)
( 1*10^10*1.2 ) / 3GHz
= 4s
(2)
( 5*10^9*1.3 ) / 3GHz
= 2.167s
(4)
( 2.5*10^9*1.5 ) / 3GHz
= 1.25s
(8)
( 1.25*10^9*1.8 ) / 3GHz
= 0.75s
b:
(1)
( 1*10^10*1.2 ) / 3GHz
= 4s
(2)
(5*10^9*1.2) / 3GHz
= 2s
(4)
( 2.5*10^9*1.2 ) / 3GHz
= 1s
(5)
( 1.25*10^9*1.2 ) / 3GHz
= 0.5s
1.10.5
3GHz Clock:
Voltage
= (2/5)+0.4 = 1
(1)
Power
= (5*10^(-3))*(1.0^2)*(3*10^3)
= 15W
(2)
15*2 = 30
(4)
15*4 = 60
(8)
15*8 = 120
500MHz Clock:
Voltage
= (0.5/5)+0.4
= 0.5
(1)
Power
= (5*10^(-3))*(0.5^2)*(5*10^2)
= 0.625W
(2)
0.625*2 = 1.25W
(4)
0.625*4 = 2.5W
(8)
0.625*8 = 5W
1.10.6
3Gz Clock
a.
(1)
4*15 = 60
(2)
30*2.167 = 65.01
(4)
60*1.25 = 75
(8)
120*0.75 = 90
b.
(1)
4*15 = 60
(2)
2*30 = 60
(4)
1*60 = 60
(8)
0.5*120 = 60