[計組] branch stall cycle的問題

作者: vigia22922 (德)   2016-12-18 16:10:58
我想請問一下
branch 在有額外硬體下 stall為1
沒有額外硬體 stall為3
1.stall為3的話 代表 branch是需執行到MEM級 才知道branch發生或不發生(因為and gat
e 在MEM級) 。這樣的話代表 branch需要 4cycle 理解是對的嗎?
2.但是在寫題目的時候 有的時候branch是用3cycle(也就是執行的EX而已)有的時候是4cy
cle(也就是到MEM) 那要怎麼判斷?
以上是說 只需要執行到該級 並不用完整pipeline執行五級
謝謝各位
作者: nopainnogain   2016-12-18 16:29:00
pipeline每個指令每個stage都要經過吧? cycle不同應該是multicycle machine吧?
作者: boy00114 (ponny)   2016-12-18 17:28:00
就multicycle來說branch CPI當作3沒錯
作者: kyuudonut (善良老百姓)   2016-12-18 20:32:00
1. 不太對 精準來講 令branch miss之機率為pbranch 所需 cycle 應是 p*3 + 1
作者: vigia22922 (德)   2016-12-18 23:01:00
嗯嗯 是multicycle 不好意思沒加上去 因為我看一些解答是寫cpi=4 有些又寫3 覺得很混亂呀http://i.imgur.com/kt4UZ1K.jpg像這題(e) 他下方解答寫 beq是4 而之前學長寫的原因是因為 and gate在mem 中
作者: yupog2003 (屁股)   2016-12-19 07:31:00
也許這題的multicycle是在已經切好pipeline的機器上運作?所以才會因為and gate在MEM stage才把CPI設為4?如果只是在前面還沒有切好pipeline的機器上因為他只需要IF、Resgister file、ALU所以就把CPI設為3

Links booklink

Contact Us: admin [ a t ] ucptt.com