首页 > 试题广场 >

流水线中有3类数据相关冲突:写后读相关,读后写相关,写后写相

[单选题]
流水线中有3类数据相关冲突:写后读相关,读后写相关,写后写相关,那么下列3组指令中存在读后写相关的是()
  • I1 STA M,R2;(R2)-M,M为主存单元
     I2 AND R2,R4,R5;(R4)+(R5)-R2
  • I1 SUB R1,R2,R3;(R2)-(R3)-R1
     I2 AND R4,R5,R1;(R5)+(R1)-R4
  • I1 MUL R3,R2,R1;(R2)*(R1)-R3
     I2 SUB R3,R4,R5;(R4)-(R5)-R3
  • 其它选项都不对
讲真,面对这种题目我可能只能拿0分了,一窍不通T-T
发表于 2017-08-09 13:03:54 回复(4)
SAT指令是将寄存器内值写入内存单元,速度相交于寄存器之间的操作要慢,导致第一条指令还没读取R2寄存器内容的时候,第二条指令已经把R4和R5寄存器内数据相与写入R2了,导致了先写后读,实际应该是先读后写,产生了先读后写的相关
发表于 2020-04-02 22:37:46 回复(0)
A选项:指令I1是要读出R2的内容,并存入存储单元M ; 指令I2是要读出R4、R5的内容进行运算,将结果写入R2。如果指令I2先进入流水线,变成I2指令在I1指令读出R2之前,先写入R2,发生了读后写(WAR,write after read)相关。(应该先读再写)
B选项:写后读相关(RAW,read after write)
C选项:写后写相关(WAW,write after write) 

发表于 2017-09-07 21:52:45 回复(0)