题目内容:
五、下面一段MIPS汇编程序是计算高斯消去法中的关键一步,用于完成下面公式的计算:Y = a X + Y
其浮点指令延迟如下表所示:
整数指令均为1个时钟周期完成,浮点和整数部件均采用流水。整数操作之间以及与其它所有浮点操作之间的延迟为0,转移指令的延迟为0。
X中的最后一个元素存放在存储器中的地址为DONE。
FOO: L.D F2, 0(R1)
MUT.D F4, F2, F0
L.D F6, 0(R2)
ADD.D F6, F4, F6
S.D F6, 0[R2]
DADDIU R1, R1, #8
DADDIU R2, R2, #8
DSUBIU R3, R1, #DONE
BNEZ R3, FOO
(1)对于标准的MIPS单流水线,上述循环计算一个Y值需要多少时间?其中有多少空转周期?
(2)对于标准的MIPS单流水线,将上述循环顺序展开4次,不进行任何指令调度,计算一个Y值平均需要多少时间?加速比是多少?其加速是如何获得的?
(3)对于标准的MIPS单流水线,将上述循环顺序展开4次,优化和调度指令,使循环处理时间达到最优,计算一个Y值平均需要多少时间?加速比是多少?
参考答案: