MIPS R4000延迟和启动间隔

时间:2016-02-02 13:52:57

标签: computer-architecture

为什么MIPS R4000的平方根功能单元的延迟为112个周期,启动间隔为111个周期?

1 个答案:

答案 0 :(得分:3)

MIPS R4000 Microprocessor User’s Manual提供了有关R4000浮点流水线的详细描述(参见6.7节)。对于浮点运算,R4000 FPU提供8个操作阶段(尾数加,除法流水线,异常测试,第一乘法器,第二乘法器,舍入,操作数移位,解包FP数)。双精度平方根使用第一个循环的解包FP数,第二个循环的异常测试,接下来的108个循环的尾数加和舍入,下一个循环的尾数加,以及最后一个循环的舍入。

由于解包FP值和异常测试(前两个周期)未在后续周期中使用,因此以下平方根操作可以比平方根完全未流水线更早开始两个周期。这可以表示如下:

         1    2    3   4  ... 110  111  112  114  115
SQRT.D   U    E   A+R A+R     A+R   A    R
SQRT.D        110 stall cycles for second SQRT.D
                                    U    E   A+R  A+R

(您可以看到启动间隔在发出第一个SQRT.D时计算周期,即启动间隔为零意味着并行问题,启动间隔为1将支持背对背问题。)