2016-02-02 82 views

回答

3

MIPS R4000 Microprocessor User’s Manual提供了有關R4000浮點流水線的詳細描述(請參閱第6.7節)。對於浮點運算,R4000 FPU提供了8個運算階段(尾數加法,除法流水線,異常測試,第一乘法器,第二乘法器,舍入,操作數移位,解壓FP編號)。雙精度平方根使用第一個循環的解壓縮FP編號,第二個循環的異常測試,尾數加法和下一個循環的舍入,下一個循環的尾數加法和最後一個循環的舍入。由於解壓縮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發出的週期,即零啓動間隔將意味着並行問題和啓動間隔人們會支持背靠背的問題。)