问题
单项选择题
以下三组指令存在哪种类型的数据相关:
(1) I1 ADD R1,R2,R3 ; (R2+R3)--→R1
I2 SUB R4,R1,R5 ; (R1-R5)--→R4
(2) I3 STA M(x),R3 ; (R3)--→M(x),M(x) 是存储器单元
I4 ADD R3,R4,R5 ; (R4+R5) --→R3
(3) I5 MUL R3,R1,R2; (R1)*(R2)--→R3
I6 ADD R3,R4,R5 ; (R4+R5)--→R3
(1): (61) ;(2): (62) ;(3): (63)
(63)处填()。
A.写后读(RAW)相关
B.读后写(WAR)相关
C.写后写(WAW)相关
D.不存在数据相关
答案
参考答案:C
解析:
第(1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读小R1内容。由于12指令进入流水线,变成12指令I1指令写入R1前就读出R1内容,发生RAW相关。
第(2)纽指令中,I3指令应先读出田内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出 R3内容前就写入R3,发生WAR相关。
第(3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时问,变成指令I6在指令I5写入R3之前就写入R3,导致R3 的内容错误,发生WAW相关。