計組 張凡(上)p.512 pipeline

作者: paralyzation (passby)   2018-11-12 15:12:16
https://i.imgur.com/YXUP6jf.jpg
https://i.imgur.com/hxbuJjF.jpg
想請問一下這題的第四小題,我有兩個部分看不明白
1.為什麼算instructions between branch mispredictions 是用1/(0.30*0.05)
2.看不太懂他解答附註那裏寫的算stall cycles的方法
希望有大大能幫忙解惑,感恩~
作者: wei12f8158 (WEI)   2018-11-12 16:14:00
2.a的pipeline寛度給4,beq在第7個stage決定,所以前面6個指令要洗掉,第7個則是有可能洗0個(0/4)洗1個(1/4)~洗3個(最多就洗掉3個,所以3/4),加起來再除4就是平均洗掉了多少指令,b小題一樣的算法1. a. Branch指令佔30%,其中猜中的有95%,所以猜錯的有5%,猜錯率為0.3*0.05=0.015,每100個指令會有1.5個猜錯,倒數66.67意思就是平均每66.67個指令中會出現一次猜錯的情形

Links booklink

Contact Us: admin [ a t ] ucptt.com