看板 Grad-ProbAsk 關於我們 聯絡資訊
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的方法 希望有大大能幫忙解惑,感恩~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.87.231 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1542006739.A.7CA.html
wei12f8158: 2.a的pipeline寛度給4,beq在第7個stage決定,所以前11/12 16:14
wei12f8158: 面6個指令要洗掉,第7個則是有可能洗0個(0/4)洗1個11/12 16:14
wei12f8158: (1/4)~洗3個(最多就洗掉3個,所以3/4),加起來再11/12 16:14
wei12f8158: 除4就是平均洗掉了多少指令,b小題一樣的算法11/12 16:14
wei12f8158: 1. a. Branch指令佔30%,其中猜中的有95%,所以猜錯11/12 16:23
wei12f8158: 的有5%,猜錯率為0.3*0.05=0.015,每100個指令會有1.511/12 16:23
wei12f8158: 個猜錯,倒數66.67意思就是平均每66.67個指令中會出現11/12 16:23
wei12f8158: 一次猜錯的情形11/12 16:23
我明白了,感謝大大回覆,真的很詳細, ※ 編輯: paralyzation (140.114.87.231), 11/12/2018 16:31:12