Point:
如果始終不會算CPI & MIPS,最後背考題,但題型一變就不懂了
建議把中文換英文,直接用英文去了解就會懂了,
市面上很多教科書用中文,切換文字都沒有定義清楚各個用語,最終造成一堆人不懂,
這時候看英文就會懂了,很簡單。
考試基礎就是Frequency & Sec/Cycle之間的切換
只有這兩個基礎,而在中文書,兩個英文字會變得非常複雜而沒有規則,
事實上都只同一個東西,
利用這個基礎才能衍伸出CPI與MIPS的換算。
Computer Performance: Relative Performance, CPU Time, Clock Cycle, Clock Rate
Convert Period to Frequency
Convert Frequency to Period
Convert Bandwidth to Cycles per Instruction (CPI)
頻寬(Bandwidth) => 以MIPS(*Millions of Instructions Per Second)為單位
Convert Cycles Per Instruction to Bandwidth
million = 10 的六次方
所以MIPS換算會故意轉成10的6次方
懂得邏輯跟方法
這樣子就通行無阻了
考考自己萬年考題
題型一
假設一部時脈速度為100MHz的電腦執行10000000個指令需要0.25秒,試問,這部電腦的CPI是多少?MIPS是多少? (90臺科電通所)
ANS
1.電腦的時脈週期=時脈速度的倒數:1/(100*106)=10-8秒
2.計算執行每個指令需要多少時間:
0.25/107=2.5*10-8秒
3.計算執行每個指令需要多少時脈週期:
2.5*10-8/10-8=2.5
所以CPI為2.5
MIPS=時脈速度(clock rate) / CPI*106
=100*106/2.5*106=40
題型二
假設有兩部指令集相同的電腦A、B,其中,A的時脈週期時間為10ns,CPI為2,B的時脈週期時間為20ns,CPI為1.5。試問,同一個程式在A執行較快?還是在B執行較快?快多少?(假設程式中的指令數目為N)
ANS
1.計算A的CPU時脈週期,也就是CPI*N=2N
2.計算B的CPU時脈週期,也就是CPI*N=1.5N
3.計算A的CPU時間,也就是CPU時脈週期*時脈週期時間=2N*10=20N
4.計算B的CPU時間,也就是CPU時脈週期*時脈週期時間=1.5N*20=30N
所以A的執行速度較快,快了30N/20N=1.5倍