我想知道为什么在流水线 RiscV 上执行此汇编代码时 - 不会自动停止 - 通过转发(内部寄存器文件 WB->DEC 转发除外)我们需要在第三个命令之后立即放置两个 NOP 命令,不会一个 NOP 就够了吗?
addi t0, x0, 0
addi t1, x0, 5
addi s1, x0, 0x200 //why are two NOPS required after this command?
beq t1, t0, finish
这是我的思路 - 在一个 nop 之后,第一个命令完成编译,我们可以将 t1 从第二个命令的 WB 转发到 beq 的 EXE。我哪里错了?