2
我目前在軟件中使用MIPS R3051作爲我的大學項目的一部分。關於MIPS R3051流水線行爲(MIPS-I架構)的疑問
我在IDT的程序員手冊中注意到,它指定計算指令可以在其RD階段訪問流水線之前的其他計算指令的結果,即使前進指令尚未將其結果提交給相關在WB階段註冊。這是通過「執行引擎內的特殊邏輯」來完成的,以防止失速。
我的查詢是否也適用於非計算指令(例如跳轉型指令)?
一個例子:如果ADD指令計算在其ALU級目的地爲R1的值,與在管道在RD它後面的JR [R1]指令,將JR指令得到:
(a)中(b)這個「特殊邏輯」是否允許r1的新值被轉發給它?或者
(c)流水線會一直停滯,直到r1在WB處被正確提交?如果在其他地方(我沒有發現它)要求,道歉。非常感謝。
問候, 菲爾