下面是一段MIPS指令序列: add$t1,$s1,$s0 #R[$t1]←R[$s1]+R[$s0] sub$t2,Ss0,$s3 #R[$t2]←R[$s0]-R[$s3] add$t1,St1,$t2 #R[$t1]←R[$t1]+

admin2017-11-20  24

问题 下面是一段MIPS指令序列:
add$t1,$s1,$s0    #R[$t1]←R[$s1]+R[$s0]
sub$t2,Ss0,$s3    #R[$t2]←R[$s0]-R[$s3]
add$t1,St1,$t2    #R[$t1]←R[$t1]+R[$t2]
    假定在一个采用“取指、译码/取数、执行、访存、写回”的五段流水线处理器中执行上述指令序列,请回答下列问题:
以上指令序列中,哪些指令之间发生数据相关?

选项

答案因为第1条和第3条指令都会更新第3条指令用到的寄存器的值,有可能导致第3条指令取操作数时得到的是更新前的数据,这样,第3条指令就不能正确执行,所以,第1条和第3条指令、第2条和第3条指令之间发生数据相关。

解析
转载请注明原文地址:https://kaotiyun.com/show/kVRi777K
0

最新回复(0)