Abstract
The correct handling of decimal numbers is essential in financial applications and in many human endeavors. The present chapter illustrates the need for decimal floating point numbers on computers and the possible hardware implementations of basic arithmetic operations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
IEEE Task P754, IEEE 754-2008, Standard for Floating-Point Arithmetic (IEEE, New York, 2008)
IEEE Task P754, ANSI/IEEE 754-1985, Standard for Binary Floating-Point Arithmetic (IEEE, New York, 1985)
M.F. Cowlishaw, The ‘telco’ benchmark. World-Wide Web document, IBM Hursley Laboratory, Hursley (2002). http://www.speleotrove.com/decimal/telco.html
M.F. Cowlishaw, Decimal floating-point: algorism for computers, in 16th IEEE Symposium on Computer Arithmetic: ARITH-16 2003: Proceedings: Santiago de Compostela, June 15–18, 2003, ed. by J.C. Bajard, M. Schulte (IEEE Computer Society Press, Silver Spring, MD, 2003), pp. 104–111
W. Buchholz, Fingers or fists? (the choice of decimal or binary representation). Commun. Assoc. Comput. Mach. 2 (12), 3–11 (1959)
H.A.H. Fahmy, R. Raafat, A.M. Abdel-Majeed, R. Samy, T. ElDeeb, Y. Farouk, Energy and delay improvement via decimal floating point units, in Proceedings of the 19th IEEE Symposium on Computer Arithmetic, Portland, OR (2009), pp. 221–224
L.-K. Wang, M.A. Erle, C. Tsen, E.M. Schwarz, M.J. Schulte, A survey of hardware designs for decimal arithmetic. IBM J. Res. Dev. 54, 8:1–8:15 (2010)
H.A.H. Fahmy, K. Ismail, Analysis of a single-electron decimal adder. Appl. Phys. Lett. 70, 2613–2615 (1997)
M. Gladshtein, Delay-based processing-in-wire for design of QCA serial decimal arithmetic units. ACM J. Emerg. Technol. Comput. Syst. 10, 13:1–13:18 (2014)
L. Eisen, J.W. Ward III, H.-W. Tast, N. Mäding, J. Leenstra, S.M. Mueller, C. Jacobi, J. Preiss, E.M. Schwarz, S.R. Carlough, IBM POWER6 accelerators: VMX and DFU. IBM J. Res. Dev. 51, 663–683 (2007)
E.M. Schwarz, J.S. Kapernick, M.F. Cowlishaw, Decimal floating-point support on the IBM System z10 processor. IBM J. Res. Dev. 53, 4:1–4:10 (2009)
S. Carlough, A. Collura, S. Mueller, M. Kroener, The IBM zEnterprise-196 decimal floating-point accelerator, in Schwarz and Oklobdzija [84], pp. 139–146
R. Raafat, A. Mohamed, R. Samy, T. ElDeeb, Y. Farouk, M. Elkhouly, H.A.H. Fahmy, A decimal fully parallel and pipelined floating point multiplier, in Forty-Second Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2008)
R. Samy, H.A.H. Fahmy, R. Raafat, A. Mohamed, T. ElDeeb, Y. Farouk, A decimal floating-point fused-multiply-add unit, in Fifty-Third MidWest Symposium on Circuits and Systems, (MWSCAS), Seattle, Washington (2010)
H.A.H. Fahmy, T. ElDeeb, M. Hassan, Y. Farouk, R. Eissa, Decimal floating point for future processors, in The 22nd International Conference on Microelectronics, ICM 2010 (2010)
T. Yoshida, T. Maruyama, Y. Akizuki, R. Kan, N. Kiyota, K. Ikenishi, S. Itou, T. Watahiki, H. Okano, Sparc64 x: Fujitsu’s new-generation 16-core processor for unix servers. IEEE Micro 33, 16–24 (2013)
M. Cornea, J. Harrison, C. Anderson, P. Tang, E. Schneider, E. Gvozdev, A software implementation of the IEEE 754R decimal floating-point arithmetic using the binary encoding format. IEEE Trans. Comput. 58, 148–162 (2009)
M. Cowlishaw, The decNumber C Library (IBM Corporation, San Jose, CA, 2006). Version 3.37
International Organization for Standardization, ISO/IEC TR 24732:2009 Information technology — Programming languages, their environments and system software interfaces — Extension for the programming language C to support decimal floating-point arithmetic. Technical Report, International Organization for Standardization, Geneva, 2009
J. Thompson, N. Karra, M.J. Schulte, A 64-bit decimal floating-point adder, in Proceedings of the IEEE Computer Society Annual Symposium on VLSI, 19–20 February 2004 (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 297–298
Á. Vázquez, E. Antelo, A high-performance significand BCD adder with IEEE 754-2008 decimal rounding, in Bruguera et al. [85], pp. 135–144
M.H. Amin, A.M. ElTantawy, H.A.H. Fahmy, A. Khedr, Efficient decimal leading zero anticipator designs, in Forty-Fifth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2011)
L.-K. Wang, M.J. Schulte, A decimal floating-point adder with decoded operands and a decimal leading-zero anticipator, in Bruguera et al. [85], pp. 125–134
L.-K. Wang, M.J. Schulte, J.D. Thompson, N. Jairam, Hardware designs for decimal floating-point addition and related operations. IEEE Trans. Comput. 58, 322–335 (2009)
K. Yehia, H.A.H. Fahmy, M. Hassan, A redundant decimal floating-point adder, in Forty-Fourth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2010)
S.Y. Elsayed, H.A.H. Fahmy, M.S. Khairy, Residue codes for error correction in a combined decimal/binary redundant floating point adder, in Forty-Sixth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2012)
C. Tsen, S. Gonzalez-Navarro, M. Schulte, Hardware design of a binary integer decimal-based floating-point adder, in 25th International Conference on Computer Design, 2007 (ICCD 2007), 7–10 October 2007, Resort at Squaw Creek, Lake Tahoe, CA, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2007), pp. 288–295
C. Tsen, M. Schulte, S. Gonzalez-Navarro, Hardware design of a binary integer decimal-based IEEE P754 rounding unit, in ASAP 07: Conference Proceedings: IEEE 18th International Conference on Application-Specific Systems, Architectures, and Processors: Montréal: July 8–11, 2007, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2007), pp. 115–121
C. Tsen, S. Gonzalez-Navarro, M.J. Schulte, K. Compton, Hardware designs for binary integer decimal-based rounding. IEEE Trans. Comput. 60, 614–627 (2011)
A.A.M. Ayoub, Binary integer decimal-based floating point adder. Master’s thesis, Electronics and Electrical Communications Department, Cairo University, Giza (2014). Available at http://eece.cu.edu.eg/~hfahmy/thesis/2014_03_dpdbid.pdf
A.A. Ayoub, H.A.H. Fahmy, BID to BCD/DPD converters. US Patent number 9134958 (2015)
A.A. Ayoub, H.A.H. Fahmy, T. Eldeeb, DPD/BCD to BID converters. US Patent number 9143159 (2015)
A. Vazquez, E. Antelo, P. Montuschi, A new family of high-performance parallel decimal multipliers, in Kornerup and Muller [86], pp. 195–204
A. Vazquez, E. Antelo, P. Montuschi, Improved design of high-performance parallel decimal multipliers. IEEE Trans. Comput. 59, 679–693 (2010)
S. Gonzalez-Navarro, C. Tsen, M. Schulte, Binary integer decimal-based multiplier for decimal floating-point arithmetic, in Conference Record of the Forty-first Asilomar Conference on Signals, Systems and Computers: November 4–7, 2007, Pacific Grove, CA. ACSSC 2007, ed. by M.B. Matthews (IEEE Computer Society Press, Silver Spring, MD, 2008), pp. 353–357
S. Gonzalez-Navarro, C. Tsen, M.J. Schulte, Binary integer decimal-based floating-point multiplication. IEEE Trans. Comput. 62, 1460–1466 (2013)
M.A. Erle, M.J. Schulte, Decimal multiplication via carry-save addition, in IEEE International Conference on Application-Specific Systems, Architectures and Processors: Proceedings: ASAP 2003, 24–26 June, 2003, The Hague, ed. by E.F. Deprettere (IEEE Computer Society Press, Silver Spring, MD, 2003), pp. 348–358. IEEE Computer Society Order Number PR01992
R.D. Kenney, M.J. Schulte, M.A. Erle, A high-frequency decimal multiplier, in IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings, 11–13 October 2004, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 26–29
R.D. Kenney, M.J. Schulte, M.A. Erle, Multioperand decimal addition, in Emerging Trends in VLSI Systems Design: Proceedings: IEEE Computer Society Annual Symposium on VLSI, 19–20 February 2004, Lafayette, LA [ISVLSI 2004], ed. by A. Smailagic, M.A. Bayoumi (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 251–253. IEEE Computer Society order number P2097
M. Erle, E. Schwarz, M. Schulte, Decimal multiplication with efficient partial product generation, in Proceedings of the 17th IEEE Symposium on Computer Arithmetic, ARITH-17 2005, June 27–29, 2005, Cape Cod, MA, ed. by P. Montuschi, E.E.M. Schwarz (IEEE Computer Society Press, Silver Spring, MD, 2005), pp. 21–28
M.A. Erle, M.J. Schulte, B.J. Hickmann, Decimal floating-point multiplication via carry-save addition, in Kornerup and Muller [86], pp. 46–55
M.A. Erle, B.J. Hickmann, M.J. Schulte, Decimal floating-point multiplication. IEEE Trans. Comput. 58, 902–916 (2009)
L. Dadda, Multioperand parallel decimal adder: a mixed binary and BCD approach. IEEE Trans. Comput. 56, 1320–1328 (2007)
M. Mahmoud, H.A.H. Fahmy, A parallel combined binary/decimal fixed-point multiplier with binary partial products reduction tree, in The 21st International Conference on Computer Theory and Applications (ICCTA), Alexandria (2011)
C. Tsen, S. Gonzalez-Navarro, M.J. Schulte, B. Hickmann, K. Compton, A combined decimal and binary floating-point multiplier, in 20th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP 2009), Boston, MA, 7–9 July 2009, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2009), pp. 8–15
G. Jaberipur, A. Kaivani, Improving the speed of parallel decimal multiplication. IEEE Trans. Comput. 58, 1539–1552 (2009)
L. Han, S.-B. Ko, High-speed parallel decimal multiplication with redundant internal encodings. IEEE Trans. Comput. 62, 956–968 (2013). See comment [48]
S. Gorgin, G. Jaberipur, Comment on High-speed parallel decimal multiplication with redundant internal encodings. IEEE Trans. Comput. 64, 293–294 (2015). See [47]
D.R. Lutz, Fused multiply-add microarchitecture comprising separate early-normalizing multiply and add pipelines, in Schwarz and Oklobdzija [84], pp. 123–128
P.K. Monsson, Combined binary and decimal floating-point unit. Master’s thesis, Technical University of Denmark (2008)
A. Sayed-Ahmed, H.A.H. Fahmy, R. Samy, Verification of decimal floating-point fused-multiply-add operation, in The Ninth ACS/IEEE International Conference on Computer Systems and Applications (AICCSA), Sharm El-Sheikh (2011)
R. Samy, H.A.H. Fahmy, T. Eldeeb, R. Raafat, Y. Farouk, M. Elkhouly, A. Mohamed, Decimal floating-point fused multiply-add unit (2014). US Patent number 8694572
A.M. ElTantawy, Decimal floating point arithmetic unit based on a fused multiply add module. Master’s thesis, Electronics and Electrical Communications Department, Cairo University, Giza (2011). Available at http://eece.cu.edu.eg/~hfahmy/thesis/2011_08_dfma.pdf
A. Akkas, M.J. Schulte, A decimal floating-point fused multiply-add unit with a novel decimal leading-zero anticipator, in IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP) (2011), pp. 43–50
A.A.A. Wahba, Fully IEEE-compliant binary/decimal unit based on a binary/decimal fma. Master’s thesis, Electronics and Electrical Communications Department, Cairo University, Giza (2014). Available at http://eece.cu.edu.eg/~hfahmy/thesis/2014_06_bd_fma.pdf
M.D. Ercegovac, T. Lang, Digital Arithmetic (Morgan Kaufmann, Los Altos, CA, 2004)
M.J. Flynn, On division by functional iteration. IEEE Trans. Comput. C-19, 702–706 (1970). Reprinted in [87]
P. Rabinowitz, Multiple-precision division. Commun. Assoc. Comput. Mach. 4, 98–98 (1961)
L.-K. Wang, M.J. Schulte, Decimal floating-point division using Newton–Raphson iteration, in Proceedings of 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 27–29 September 2004 (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 84–95
L.-K. Wang, M.J. Schulte, A decimal floating-point divider using Newton–Raphson iteration. J. VLSI Sig. Proc. 49, 3–18 (2007)
T. Lang, A. Nannarelli, A radix-10 digit-recurrence division unit: algorithm and architecture. IEEE Trans. Comput. 56, 727–739 (2007)
H. Nikmehr, B. Phillips, C.-C. Lim, Fast decimal floating-point division. IEEE Trans. Very Large Scale Integr. VLSI Syst. 14, 951–961 (2006)
A. Mohamed, R. Raafat, H.A.H. Fahmy, T. Eldeeb, Y. Farouk, R. Samy, M. Elkhouly, Parallel redundant decimal fused-multiply-add circuit (2014). US Patent number 8805917
A. Mohamed, H.A.H. Fahmy, R. Raafat, Y. Farouk, M. Elkhouly, R. Samy, T. Eldeeb, Rounding unit for decimal floating-point division (2014). US Patent number 8751555
C.V. Ramamoorthy, J.R. Goodman, K.H. Kim, Some properties of iterative square-rooting methods using high-speed multiplication. IEEE Trans. Comput. C-21, 837–847 (1972)
L.-K. Wang, M.J. Schulte, Decimal floating-point square root using Newton–Raphson iteration, in 16th IEEE International Conference on Application-Specific Systems, Architectures, and Processors: ASAP 2005, 23–25 July 2005, Samos, ed. by S. Vassiliadis, N.J. Dimopoulos, S.V. Rajopadhye (IEEE Computer Society Press, Silver Spring, MD, 2005), pp. 309–315
A.S. Ahmed, H.A.H. Fahmy, U. Kuehne, Verification of the decimal floating-point square root operation, in 19th IEEE European Test Symposium (ETS), Paderborn (2014)
R. Raafat, A. Mohamed, H.A.H. Fahmy, Y. Farouk, M. Elkhouly, T. Eldeeb, R. Samy, Decimal floating-point square-root unit using Newton-Raphson iterations (2014). US Patent number 8812575
D. Chen, Y. Zhang, Y. Choi, M.H. Lee, S.-B. Ko, A 32-bit decimal floating-point logarithmic converter, in Bruguera et al. [85], pp. 195–203
D. Chen, L. Han, Y. Choi, S. Ko, Improved decimal floating-point logarithmic converter based on selection by rounding. IEEE Trans. Comput. 61, 607–621 (2012)
D. Chen, Y. Zhang, D. Teng, K. Wahid, M.H. Lee, S.-B. Ko, A new decimal antilogarithmic converter, in 2009 IEEE International Symposium on Circuits and Systems: Circuits and Systems for Human Centric Smart Living Technologies, Conference Program, Taipei International Convention Center, Taipei, May 24–May 27, 2009, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2009), pp. 445–448
M. Hassan, T. ElDeeb, H.A.H. Fahmy, Algorithm and architecture for on-line decimal powering computation, in Forty-Fourth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2010)
W.S. Sayed, H.A.H. Fahmy, What are the correct results for the special values of the operands of the power operation? Trans. Math. Softw. 42 (2), 14:1–14:17 (2016) doi:10.1145/2809783
T. ElDeeb, H.A.H. Fahmy, M.Y. Hassan, Decimal elementary functions computation. (2014). US Patent number 8788560
J. Harrison, Decimal transcendentals via binary, in Bruguera et al. [85], pp. 187–194
Á. Vázquez, J. Villalba, E. Antelo, Computation of decimal transcendental functions using the CORDIC algorithm, in Bruguera et al. [85], pp. 179–186
A. Kaivani, G. Jaberipur, Decimal CORDIC rotation based on selection by rounding: algorithm and architecture. Comput. J. 54, 1798–1809 (2011)
C. Kern, M.R. Greenstreet, Formal verification in hardware design: a survey. ACM Trans. Des. Autom. Electron. Syst. 4, 123–193 (1999)
D.M. Russinoff, A mechanically checked proof of IEEE compliance of the floating point multiplication, division and square root algorithms of the AMD-K7TM processor. LMS J. Comput. Math. 1, 148–200 (1998)
E. Guralnik, M. Aharoni, A.J. Birnbaum, A. Koyfman, Simulation-based verification of floating-point division. IEEE Trans. Comput. 60, 176–188 (2011)
M. Aharoni, R. Maharik, A. Ziv, Solving constraints on the intermediate result of decimal floating-point operations, in Kornerup and Muller [86], pp. 38–45
C. University, Arithmetic operations debugging and verification (2012). Available at http://eece.cu.edu.eg/~hossam/arith_debug/
A. Sayed-Ahmed, H.A.H. Fahmy, M. Hassan, Three engines to solve verification constraints of decimal floating-point operations, in Forty-Fourth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2010)
E. Schwarz, V.G. Oklobdzija (eds.), Proceedings of the 20th IEEE Symposium on Computer Arithmetic, July 25–27, 2011, Tübingen (IEEE Computer Society Press, Silver Spring, MD, 2011)
J.D. Bruguera, M. Cornea, D. DasSarma, J. Harrison (eds.), Proceedings of the 19th IEEE Symposium on Computer Arithmetic, June 8–10, 2009, Portland, OR (IEEE Computer Society Press, Silver Spring, MD, 2009)
P. Kornerup, J.-M. Muller (eds.), Proceedings of the 18th IEEE Symposium on Computer Arithmetic, June 25–27, 2007, Montpellier (IEEE Computer Society Press, Silver Spring, MD, 2007)
E.E. Swartzlander Jr., Computer Arithmetic. IEEE Computer Society Press Tutorial, vol. 1 (IEEE Computer Society Press, Silver Spring, MD, 1990)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Fahmy, H.A.H. (2017). Decimal Floating Point Number System. In: Molahosseini, A., de Sousa, L., Chang, CH. (eds) Embedded Systems Design with Special Arithmetic and Number Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-49742-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-49742-6_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49741-9
Online ISBN: 978-3-319-49742-6
eBook Packages: EngineeringEngineering (R0)