首页 文章

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

提问于
浏览
0

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

例如:

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

我可以在同一个时钟周期执行这两条指令吗? sw 可以在执行MEM阶段时使用 add 的结果值 .

那是对的吗?

1 回答

  • 2

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

相关问题