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

作者: a0953781935 (歐尼醬)   2020-11-17 19:16:23
想問一下,
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
作者: sevfouyu11 (sevfouyu11)   2020-11-18 00:05:00
因為“MIPS“的5-stage pipeline的Branch是在ID stage決定的,所以Load接Branch有hazard的時候要stall 2個clock讓ID stage吃到從MEM出來的正確data而不是EXstage然後關於能不能forward到ID stage的問題,張凡上課的時候有提到事實上有四條Forwarding(課本的兩條加上“EX/MEM to ID”和“MEM/WB to MEM”),但課本上只提到“EX/MEM to EX”和“MEM/WB to EX”這兩條,又說如果題目說Pipeline有forwarding的能力那就是四條都有,所以我的想法是:如果題目只說有forwarding能力,沒有加其他條件限制,那就4條都能用,但是台科的這題他給有給圖,是類似課本的圖,而課本的圖是沒有另外兩條forwarding的,所以我就當作他限制我只能用課本提到的那兩條,也就不能forward到ID stage以上我的理解,有錯還請糾正

Links booklink

Contact Us: admin [ a t ] ucptt.com