计组 张凡(上)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