问题
问答题
在一台每个时钟周期发射两条指令的超标量处理机上运行程序P。所有指令都要经过“取指令(IF)”、“译码(ID)”、“执行”和“写结果(WB)”4个阶段,其中,“取指令”,“译码”和“写结果”三个阶段各为一个流水段,其延迟时间都为10ns。在“执行”阶段,LOAD和AND操作延迟都为10ns,ADD操作延迟20ns,MUL操作延迟30ns,这四种操作部件各设置一个。ADD部件和MUL部件都采用流水线结构,每一级流水线的延迟时间都为10ns。其中,程序P:
n1:LOAD R0, A ;RO←主存(A)单元
n2:ASS R1, R0 ;R1←(R1)+(R0)
n3:LOAD R2, B ;R2←主存(B)单元
n4:MUL R3, R4 ;R3←(R3)×(R4)
n5:AND R4, R5 ;R4←(R4)∧(R5)
n6:ADD R2, R5 ;R2←(R2)+(R5)
如果所有运算型指令都在“译码(ID)”流水段读寄存器,在“写结果(WB)”流水段写寄存器,采用“顺序发射、乱序完成”调度方法,画出流水线的时空图,并计算执行这个程序所用的时间。
答案
参考答案: