Decimal Floating-Point Multiplication

被引:16
作者
Erle, Mark A. [1 ]
Hickmann, Brian J. [2 ]
Schulte, Michael J. [3 ]
机构
[1] IBM Corp, Macungie, PA 18062 USA
[2] Intel Corp Ronler Acres, Hillsboro, OR 97124 USA
[3] Univ Wisconsin, Dept Elect & Comp Engn, Madison, WI 53706 USA
关键词
Decimal multiplication; binary coded decimal; floating-point arithmetic; serial multiplication; parallel multiplication; pipelined multiplication;
D O I
10.1109/TC.2008.218
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Decimal multiplication is important in many commercial applications including financial analysis, banking, tax calculation, currency conversion, insurance, and accounting. This paper presents the design of two decimal floating-point multipliers: one whose partial product accumulation strategy employs decimal carry-save addition and one that employs binary carry-save addition. The multiplier based on decimal carry-save addition favors a nonpipelined iterative implementation. The multiplier utilizing binary carry-save addition allows for an efficient pipelined implementation when latency and throughput are considered more important than area. Both designs comply with specifications for decimal multiplication given in the IEEE 754 Standard for Floating-Point Arithmetic (IEEE 754-2008). The multipliers extend previously published decimal fixed-point multipliers by adding several features, including exponent generation, sticky bit generation, shifting of the intermediate product, rounding, and exception detection and handling. Novel features of the multipliers include support for decimal floating-point numbers, on-the-fly generation of the sticky bit in the iterative design, early estimation of the shift amount, and efficient decimal rounding. Iterative and parallel decimal fixed-point and floating-point multipliers are compared in terms of their area, delay, latency, and throughput based on verified Verilog register-transfer-level models.
引用
收藏
页码:902 / 916
页数:15
相关论文
共 26 条
[1]   Solving constraints on the intermediate result of decimal floating-point operations7 [J].
Aharoni, Merav ;
Maharik, Ron ;
Ziv, Abraham .
18TH IEEE SYMPOSIUM ON COMPUTER ARITHMETIC, PROCEEDINGS, 2007, :38-+
[2]  
[Anonymous], 2008, IEEE STAND FLOAT POI
[3]  
*ANSI IEEE, 1987, 8541987 ANSIIEEE FLO
[4]  
Bohlender G., 1987, COMPUTER ARITHMETIC, P31
[5]  
COHEN MS, 1983, IEEE T COMPUT, V32, P370, DOI 10.1109/TC.1983.1676238
[6]   Densely packed decimal encoding [J].
Cowlishaw, M .
IEE PROCEEDINGS-COMPUTERS AND DIGITAL TECHNIQUES, 2002, 149 (03) :102-104
[7]   Decimal floating-point: Algorism for computers [J].
Cowlishaw, MF .
16TH IEEE SYMPOSIUM ON COMPUTER ARITHMETIC, PROCEEDINGS, 2003, :104-111
[8]   A decimal floating-point specification [J].
Cowlishaw, MF ;
Schwarz, EM ;
Smith, RM ;
Webb, CF .
ARITH-15 2001: 15TH SYMPOSIUM ON COMPUTER ARITHMETIC, PROCEEDINGS, 2001, :147-154
[9]   IBM POWER6 accelerators:: VMX and DFU [J].
Eisen, L. ;
Ward, J. W., III ;
Tast, H. -W. ;
Maeding, N. ;
Leenstra, J. ;
Mueller, S. M. ;
Jacobi, C. ;
Preiss, J. ;
Schwarz, E. M. ;
Carlough, S. R. .
IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 2007, 51 (06) :663-683
[10]   Decimal multiplication via carry-save addition [J].
Erle, MA ;
Schulte, MJ .
IEEE INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES, AND PROCESSORS, PROCEEDINGS, 2003, :348-358