MIPS - 在静态多重问题中转发

时间:2017-06-12 20:34:24

标签: mips pipeline cpu-architecture

在针对MIPS的静态双发布管道上,我可以使用具有在同一时钟周期内运行的两条指令的转发路径吗?

例如:

1. add $t0, $t0, $t1 2. sw $t0, 0($t2)

我可以在同一个时钟周期执行这两条指令吗? 当sw执行MEM阶段时,add可以使用$("#play_btn").click(function() { if ($(".icons i").hasClass("selected")) { $("h5").remove(); $(".icons").remove(); $("button").remove(); // I can pass the variable into this function, but then I will just be chaining // function calls. Is this the best route? // buildBoard calls -> playGame() calls -> endGame() buildBoard(); return icon; } }); 的结果值。

这是对的吗?

1 个答案:

答案 0 :(得分:2)

如果考虑典型的5级流水线(IF,ID,EX,MEM,WB),ADD的输出将在EX -> MEM接口处可用。对于MEM指令的SW阶段,它需要内存地址,即0 + ($t2)和应该在$t0中的数据。但是$t0尚未更新,因为管道尚未达到WB阶段。但是,应该写入$t0的值可在EX->MEM阶段获得。因此,您可以在此方案中使用转发来执行SW指令,而无需等待ADD完成。