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