2
我目前在软件中使用MIPS R3051作为我的大学项目的一部分。关于MIPS R3051流水线行为(MIPS-I架构)的疑问
我在IDT的程序员手册中注意到,它指定计算指令可以在其RD阶段访问流水线之前的其他计算指令的结果,即使前进指令尚未将其结果提交给相关在WB阶段注册。这是通过“执行引擎内的特殊逻辑”来完成的,以防止失速。
我的查询是否也适用于非计算指令(例如跳转型指令)?
一个例子:如果ADD指令计算在其ALU级目的地为R1的值,与在管道在RD它后面的JR [R1]指令,将JR指令得到:
(a)中(b)这个“特殊逻辑”是否允许r1的新值被转发给它?或者
(c)流水线会一直停滞,直到r1在WB处被正确提交?如果在其他地方(我没有发现它)要求,道歉。非常感谢。
问候, 菲尔