在一台单流水线多操作部件上执行下面的程序,取指令、指令译码各需要一个时钟周期,MOVE、ADD和MUL操作各需要2、3个和4个时钟周期。每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。 k: MOV

admin2016-12-19  45

问题 在一台单流水线多操作部件上执行下面的程序,取指令、指令译码各需要一个时钟周期,MOVE、ADD和MUL操作各需要2、3个和4个时钟周期。每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。
  k:    MOVE    R1,R0;    R1←(R0)
  k+1:    MUL    R0,R2,R1;    R0←(R2)×(R1)
  k+2:    ADD    R0,R2,R3;    R0←(R2)+(R3)
在程序实际执行过程中,有哪几种数据相关会引起流水线停顿?

选项

答案由流水线时空图看,K与K+1的先写后读相关在第4时钟周期会引起流水线停顿,而K+1与K+2的写写相关在第8时钟周期会引起流水线停顿。 [*]

解析
转载请注明原文地址:https://jikaoti.com/ti/2eLaFFFM
0

最新回复(0)