问答题
在一台单流水线多操作部件上执行下面的程序,取指令、指令译码各需要一个时钟周期,MOVE、ADD和MUL操作各需要2、3个和4个时钟周期。每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。
k:
|
MOVE
|
R
1
,R
0
;
|
R
1
←(R
0
)
|
k+1:
|
MUL
|
R
0
,R
2
,R
1
;
|
R
0
←(R
2
)×(R
1
)
|
k+2:
|
ADD
|
R
0
,R
2
,R
3
;
|
R
0
←(R
2
)+(R
3
)
|
在程序实际执行过程中,有哪几种数据相关会引起流水线停顿
【参考答案】
由流水线时空图看,K与K+1的先写后读相关在第4时钟周期会引起流水线停顿,而K+1与K+2的写写相关在第8时钟周期会引起......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)