[理工] 計組forwarding跟branch stall觀念

看板Grad-ProbAsk作者時間3年前 (2020/11/17 19:16), 3年前編輯推噓0(0015)
留言15則, 1人參與, 3年前最新討論串1/1
想問一下, r-type接branch指令有harzard, 如果能forward to ID的話就1stall, 如果不能就2 stall load接branch指令有harzard,就是2 stall這樣的觀念正確嗎? load接branch指令stall 1 clock不是剛好mem stage forward to EX stage嗎? 為啥要2個stall? 能不能forward to ID stage要怎麼看啊?不是看ID stage有沒有XOR嗎? 可是這題有啊? http://i.imgur.com/E5PdctA.jpg
http://i.imgur.com/v1M218A.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.28.10.22 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1605611790.A.3C9.html ※ 編輯: a0953781935 (110.28.10.22 臺灣), 11/17/2020 19:21:59 ※ 編輯: a0953781935 (110.28.10.22 臺灣), 11/17/2020 19:30:29

11/18 00:05, 3年前 , 1F
因為“MIPS“的5-stage pipeline的Branch是在ID stag
11/18 00:05, 1F

11/18 00:05, 3年前 , 2F
e決定的,所以Load接Branch有hazard的時候要stall 2
11/18 00:05, 2F

11/18 00:05, 3年前 , 3F
個clock讓ID stage吃到從MEM出來的正確data而不是EX
11/18 00:05, 3F

11/18 00:05, 3年前 , 4F
stage
11/18 00:05, 4F

11/18 00:05, 3年前 , 5F
然後關於能不能forward到ID stage的問題,張凡上課的
11/18 00:05, 5F

11/18 00:05, 3年前 , 6F
時候有提到事實上有四條Forwarding(課本的兩條加上“
11/18 00:05, 6F

11/18 00:05, 3年前 , 7F
EX/MEM to ID”和“MEM/WB to MEM”),但課本上只提
11/18 00:05, 7F

11/18 00:05, 3年前 , 8F
到“EX/MEM to EX”和“MEM/WB to EX”這兩條,又說
11/18 00:05, 8F

11/18 00:05, 3年前 , 9F
如果題目說Pipeline有forwarding的能力那就是四條都
11/18 00:05, 9F

11/18 00:05, 3年前 , 10F
有,所以我的想法是:如果題目只說有forwarding能力
11/18 00:05, 10F

11/18 00:05, 3年前 , 11F
,沒有加其他條件限制,那就4條都能用,但是台科的這
11/18 00:05, 11F

11/18 00:05, 3年前 , 12F
題他給有給圖,是類似課本的圖,而課本的圖是沒有另
11/18 00:05, 12F

11/18 00:05, 3年前 , 13F
外兩條forwarding的,所以我就當作他限制我只能用課
11/18 00:05, 13F

11/18 00:05, 3年前 , 14F
本提到的那兩條,也就不能forward到ID stage
11/18 00:05, 14F

11/18 00:06, 3年前 , 15F
以上我的理解,有錯還請糾正
11/18 00:06, 15F
文章代碼(AID): #1Vix4EF9 (Grad-ProbAsk)