ETH官方钱包

切換
舊版
前往
大廳
主題

CPI & MIPS - Computer performance

野兔Peko | 2014-12-26 15:10:04 | 巴幣 22 | 人氣 9531

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倍



更多創作