问答题 某一单流水线处理机.包含取指、译码、执行3个功能段。取指、译码各需1T:在执行段,MOV操作需2T,ADD操作需3T,MUL操作需4T;各操作在1T内取数,在最后1T写结果。执行下面的程序后按要求分析指令流水线的功能。
k: MOV R1,R0; R1←(R0)
k+1: MOV R0.R2,R1; RO←(R1)*(R0)
k+2: MOV R0,R2,R1; RO←(R2)+(R3)
(1)设计并画出流水线功能段的结构图。
(2)考虑指令数据相关性,设计并画出指令执行过程流水线的时空图。
(3)为了加快速度,可以采取哪些改进措施。
【正确答案】
【答案解析】(1)流水线功能段的结构图为:

(2)因为第二条MUL指令中R1的内容必须是第一条MOV指令的执行结果,所以产生了数据相关性问题。简单处理数据相关性,可采取后推法,即将相关指令延迟到所需操作数被写回到寄存器后再进行操作。由于题目中隐含指令的取操作数包含在译码功能段中,所以指令流水线的时空图为: