问答题 设一RISC机的指令流水线由5个过程段组成:取指(IF)、指令译码与读R寄存器(ID)、ALU运算与地址计算(EX),访问存储器(MEM),结果写回寄存器(WB)。现执行下列程序段:
ADD R1, R2, R3; (R1)+(R2)→R3
LW R4, @R1; ((R1))→R4
SUB R5, R4, R3; (R4)-(R3)→R5
问答题 画出流水线时空图,并分析上述程序段存在哪些数据相关?若要解决此数据相关,则软硬件各有哪些方法?
【正确答案】流水线时空图如下图所示。
[*]

流水线时空图(五)

ADD指令和LW指令之间的对R1的写后读相关。LW指令和SUB指令之间的对R4的写后读相关。
硬件上可以采用定向技术。软件上可以采用编译器调度,调整指令执行顺序。
【答案解析】
问答题 在这一流水线中,有哪种数据相关不可能发生,为什么?
【正确答案】写后写相关不可能发生。因为流水线只有在WB段写寄存器,而且每段的时间都是一个时钟周期,后面的指令写操作不会早于前面的指令写操作,所以写后写相关不可能发生。
【答案解析】