[計組] branch stall cycle的問題

看板Grad-ProbAsk作者 (德)時間9年前 (2016/12/18 16:11), 編輯推噓2(2012)
留言14則, 5人參與, 最新討論串1/1
我想請問一下 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執行五級 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.2.149 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1482048661.A.A86.html

12/18 16:29, , 1F
pipeline每個指令每個stage都要經過吧? cycle不同
12/18 16:29, 1F

12/18 16:29, , 2F
應該是multicycle machine吧?
12/18 16:29, 2F

12/18 17:28, , 3F
就multicycle來說branch CPI當作3沒錯
12/18 17:28, 3F

12/18 20:32, , 4F
1. 不太對 精準來講 令branch miss之機率為p
12/18 20:32, 4F

12/18 20:32, , 5F
branch 所需 cycle 應是 p*3 + 1
12/18 20:32, 5F

12/18 23:01, , 6F
嗯嗯 是multicycle 不好意思沒加上去 因為我看一些
12/18 23:01, 6F

12/18 23:01, , 7F
解答是寫cpi=4 有些又寫3 覺得很混亂呀
12/18 23:01, 7F

12/18 23:09, , 8F

12/18 23:09, , 9F
像這題(e) 他下方解答寫 beq是4 而之前學長寫的原因是
12/18 23:09, 9F

12/18 23:09, , 10F
因為 and gate在mem 中
12/18 23:09, 10F

12/19 07:31, , 11F
也許這題的multicycle是在已經切好pipeline的機器上運
12/19 07:31, 11F

12/19 07:32, , 12F
作?所以才會因為and gate在MEM stage才把CPI設為4?
12/19 07:32, 12F

12/19 07:33, , 13F
如果只是在前面還沒有切好pipeline的機器上因為他只需
12/19 07:33, 13F

12/19 07:34, , 14F
要IF、Resgister file、ALU所以就把CPI設為3
12/19 07:34, 14F
文章代碼(AID): #1OLaILg6 (Grad-ProbAsk)