效能評價
————
最終需要的PIPE處理器已經設定完畢了,現在要評價它的效能,採用CPI這個指標進行評價.
CPI: PIPE執行一條指令所需的平均刻度數.
(1). PIPE的CPI直觀判斷
PIPE採用了"載入互鎖+轉寄"技術,轉寄技術不會降低流水線的輸送量,而載入互鎖是通過暫停技術來實現的,所以會降低流水線的輸送量.這樣基本上可以達到每個刻度發射一條新指令的目標,也就是PIPE的CPI≈1(CPI>1).
(2).量化
C-刻度數
I-需要執行的指令數
B-插入Bubble數
CPI = C/I= (I + B) / I = 1.0 + B/I
B/I -懲罰因子
PIPE中有三種情況會插入Bubble.
-載入/使用冒險-->載入懲罰(load
penalty, lp)
-錯誤預測分支-->錯誤預測分支懲罰(mispreadictedbranch
penalty, mp)
-處理ret-->ret懲罰(return
penalty, rp)
CPI = 1.0+ lp + mp + rp
(3).一個計算CPI的執行個體
原因 |
名稱 |
指令頻率 |
滿足條件頻率 |
氣泡 |
乘積 |
載入/使用 |
lp |
0.25 |
0.20 |
1 |
0.25*0.20*1=0.05 |
預測錯誤 |
mp |
0.20 |
0.40 |
2 |
0.20*0.40*2=0.16 |
返回 |
rp |
0.02 |
1.00 |
3 |
0.02*1.00*3=0.06 |
總和 |
|
|
|
|
0.05+0.16+0.06=0.27 |
CPI = 1.27≈1.0
注*:本篇中的圖片均來自本書的官網,我進行了改造(注釋和添加),詳見http://csapp.cs.cmu.edu/public/figures.html
(Copyright 2011, Randal E. Bryant and David R. O'Hallaron )
reference:
1. 深入理解電腦系統(原書第2版)
(著作權,轉載時請註明作者和出處-dennis_fan-http://blog.csdn.net/dennis_fan