A-A+
假定有多个加法器 不存在加法器的资源冲突。有3条连续指令组成的程序代码如下。 I1 ADD
问题详情
假定有多个加法器,不存在加法器的资源冲突。有3条连续指令组成的程序代码如下。 I1 ADD R1,R2,R4 ;R1←(R2)+(R4) I2 ADD R2,R1,I ;R2←(R1)+1 I3 SUB R1,R4,R5 ;R1←(R4)-(R5) ①分析程序代码段中的数据相关。 ②采用何种硬件技术可解决这些数据相关?请加以说明。
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:①指令I1和I2之间存在RAW相关I2和I3之间存在RAW相关I1和I3之间存在WAW相关I1和I2之间还存在WAR相关。②对I1和I2之间的WAR相关可用定向传送解决。根据寄存器重命名技术对引起RAW相关的I2中的R2对引起WAW相关的I3中的R1可分别换成备用寄存器R2"、R1"。经寄存器重命名后程序代码段实际执行时变为:I1 ADD R1R2R4I2 ADD R2"R11I3 SUB R1"R4R5
①指令I1和I2之间存在RAW相关,I2和I3之间存在RAW相关,I1和I3之间存在WAW相关,I1和I2之间还存在WAR相关。②对I1和I2之间的WAR相关,可用定向传送解决。根据寄存器重命名技术,对引起RAW相关的I2中的R2,对引起WAW相关的I3中的R1,可分别换成备用寄存器R2"、R1"。经寄存器重命名后,程序代码段实际执行时变为:I1ADDR1,R2,R4I2ADDR2",R1,1I3SUBR1",R4,R5