【发布时间】:2020-07-10 09:17:52
【问题描述】:
MIPs Datapath Im referring to 假设我们这里有 MIP 汇编程序,其中包含 5 阶段流水线 IF/ID/EXE/MEM/WB 没有转发,并假设所有指令都经过每个阶段,即使它可能不会产生有意义的结果:
...
add $t0, $s1, $s0
sw $t0, 0($s2)
...
是否存在 RAW 数据危害?
我目前的思考过程是:
$t0
内存[0 + $s2]
然后是 Read After Write,因为我们首先写入 $t0(在添加时),然后我们读取 $t0 以将其放入内存。此外,当 SW 为 ID 时,ADD 在 ALU/EXE 阶段执行加法。所以 SW 的 ID 阶段在 ADD 可以写回结果之前反刍 $t0 的值。
我知道有一个类似的问题:
Is there an execute-store data hazard in MIPS?
但我的情况非常具体,这对我没有多大帮助,因为他认为指令可以在不使用某些阶段的情况下执行。
【问题讨论】:
标签: assembly mips pipelining