Floating-point fused multiply-add: reduced latency for floating-point addition

In this paper we propose an architecture for the computation of the double-precision floating-point multiply-add fused (MAF) operation A+(B/spl times/C) that permits to compute the floating-point addition with lower latency than floating-point multiplication and MAF. While previous MAF architectures compute the three operations with the same latency, the proposed architecture permits to skip the first pipeline stages, those related with the multiplication B/spl times/C, in case of an addition. For instance, for a MAF unit pipelined into three or five stages, the latency of the floating-point addition is reduced to two or three cycles, respectively. To achieve the latency reduction for floating-point addition, the alignment shifter, which in previous organizations is in parallel with the multiplication, is moved so that the multiplication can be bypassed. To avoid that this modification increases the critical path, a double-datapath organization is used, in which the alignment and normalization are in separate paths. Moreover, we use the techniques developed previously of combining the addition and the rounding and of performing the normalization before the addition.

[1]  Erdem Hokenek,et al.  Design of the IBM RISC System/6000 Floating-Point Execution Unit , 1990, IBM J. Res. Dev..

[2]  C. Heikes,et al.  A dual floating point coprocessor with an FMAC architecture , 1996, 1996 IEEE International Solid-State Circuits Conference. Digest of TEchnical Papers, ISSCC.

[3]  Warren James,et al.  1 GHz HAL SPARC64/sup R/ Dual Floating Point Unit with RAS features , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[4]  Peter-Michael Seidel,et al.  On the design of fast IEEE floating-point adders , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[5]  T. Lang,et al.  Floating-point fused multiply-add with reduced latency , 2002, Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[6]  Romesh M. Jessani,et al.  Comparison of Single- and Dual-Pass Multiply-Add Fused Floating-Point Units , 1998, IEEE Trans. Computers.

[7]  P.-M. Seidel Multiple path IEEE floating-point fused multiply-add , 2003, 2003 46th Midwest Symposium on Circuits and Systems.

[8]  Javier D. Bruguera,et al.  Floating-point multiply-add-fused with reduced latency , 2004, IEEE Transactions on Computers.

[9]  Peter-Michael Seidel,et al.  A comparison of three rounding algorithms for IEEE floating-point multiplication , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[10]  Steven W. White,et al.  POWER3: The next generation of PowerPC processors , 2000, IBM J. Res. Dev..

[11]  Christopher A. Krygowski,et al.  The IBM eServer z990 floating-point unit , 2004, IBM J. Res. Dev..

[12]  Asim J. Al-Khalili,et al.  Low power architecture for floating point MAC fusion , 2000 .

[13]  Paolo Montuschi,et al.  Proceedings 17th IEEE Symposium on Computer Arithmetic , 2005 .

[14]  Harsh Sharangpani,et al.  Itanium Processor Microarchitecture , 2000, IEEE Micro.

[15]  Chichyang Chen,et al.  Architectural design of a fast floating-point multiplication-add fused unit using signed-digit addition , 2001, Proceedings Euromicro Symposium on Digital Systems Design.

[16]  Michael J. Flynn,et al.  The SNAP project: design of floating point arithmetic units , 1997, Proceedings 13th IEEE Sympsoium on Computer Arithmetic.