Advertisement

Software Implementation of Floating-Point Arithmetic

  • Jean-Michel Muller
  • Nicolas Brunie
  • Florent de Dinechin
  • Claude-Pierre Jeannerod
  • Mioara Joldes
  • Vincent Lefèvre
  • Guillaume Melquiond
  • Nathalie Revol
  • Serge Torres
Chapter

Abstract

The previous chapter has presented the basic paradigms used for implementing floating-point arithmetic in hardware. However, some processors may not have such dedicated hardware, mainly for cost reasons. When it is necessary to handle floating-point numbers on such processors, one solution is to implement floating-point arithmetic in software.

References

  1. [3]
    R. C. Agarwal, F. G. Gustavson, and M. S. Schmookler. Series approximation methods for divide and square root in the Power3TM processor. In 14th IEEE Symposium on Computer Arithmetic (ARITH-14), pages 116–123, April 1999.Google Scholar
  2. [14]
    C. Anderson, N. Astafiev, and S. Story. Accurate math functions on the Intel IA-32 architecture: A performance-driven design. In Real Numbers and Computers, pages 93–105, July 2006.Google Scholar
  3. [78]
    C. Bruel. If-conversion SSA framework for partially predicated VLIW architectures. In 4th Workshop on Optimizations for DSP and Embedded Systems (ODES), New York, NY, USA, March 2006.Google Scholar
  4. [116]
    M. Cornea, C. Anderson, J. Harrison, P. T. P. Tang, E. Schneider, and C. Tsen. A software implementation of the IEEE 754R decimal floating-point arithmetic using the binary encoding format. In 18th IEEE Symposium on Computer Arithmetic (ARITH-18), pages 29–37, June 2007.Google Scholar
  5. [117]
    M. Cornea, J. Harrison, C. Anderson, P. T. P. Tang, E. Schneider, and E. Gvozdev. A software implementation of the IEEE 754R decimal floating-point arithmetic using the binary encoding format. IEEE Transactions on Computers, 58(2):148–162, 2009.MathSciNetCrossRefGoogle Scholar
  6. [118]
    M. Cornea, J. Harrison, and P. T. P. Tang. Scientific Computing on Itanium ®; -based Systems. Intel Press, Hillsboro, OR, 2002.Google Scholar
  7. [137]
    B. de Dinechin. From machine scheduling to VLIW instruction scheduling. ST Journal of Research, 1(2), 2004.Google Scholar
  8. [187]
    M. D. Ercegovac and T. Lang. Digital Arithmetic. Morgan Kaufmann Publishers, San Francisco, CA, 2004.Google Scholar
  9. [248]
    J. R. Hauser. The SoftFloat and TestFloat Packages. Available at http://www.jhauser.us/arithmetic/.
  10. [267]
    IEEE Computer Society. IEEE Standard for Floating-Point Arithmetic. IEEE Standard 754-2008, August 2008. Available at http://ieeexplore.ieee.org/servlet/opac?punumber=4610933.
  11. [288]
    C.-P. Jeannerod and J. Jourdan-Lu. Simultaneous floating-point sine and cosine for VLIW integer processors. In 23rd International Conference on Application-Specific Systems, Architectures and Processors (ASAP’12), pages 69–76, 2012.Google Scholar
  12. [289]
    C.-P. Jeannerod, J. Jourdan-Lu, and C. Monat. Non-generic floating-point software support for embedded media processing. In IEEE Symposium on Industrial Embedded Systems (SIES’12), pages 283–286, 2012.Google Scholar
  13. [290]
    C.-P. Jeannerod, J. Jourdan-Lu, C. Monat, and G. Revy. How to square floats accurately and efficiently on the ST231 integer processor. In 20th IEEE Symposium on Computer Arithmetic (ARITH-20), pages 77–81, Tübingen, Germany, July 2011.Google Scholar
  14. [291]
    C.-P. Jeannerod, H. Knochel, C. Monat, and G. Revy. Faster floating-point square root for integer processors. In IEEE Symposium on Industrial Embedded Systems (SIES’07), pages 324–327, 2007.Google Scholar
  15. [292]
    C.-P. Jeannerod, H. Knochel, C. Monat, and G. Revy. Computing floating-point square roots via bivariate polynomial evaluation. IEEE Transactions on Computers, 60(2):214–227, 2011.MathSciNetCrossRefGoogle Scholar
  16. [293]
    C.-P. Jeannerod, H. Knochel, C. Monat, G. Revy, and G. Villard. A new binary floating-point division algorithm and its software implementation on the ST231 processor. In 19th IEEE Symposium on Computer Arithmetic (ARITH-19), June 2009.Google Scholar
  17. [300]
    C.-P. Jeannerod and G. Revy. FLIP 1.0: a fast floating-point library for integer processors. http://flip.gforge.inria.fr/, February 2009.
  18. [301]
    C.-P. Jeannerod and G. Revy. Optimizing correctly-rounded reciprocal square roots for embedded VLIW cores. In 43rd Asilomar Conference on Signals, Systems, and Computers, pages 731–735, November 2009.Google Scholar
  19. [311]
    J. Jourdan-Lu. Custom floating-point arithmetic for integer processors: algorithms, implementation, and selection. Ph.D. thesis, Université de Lyon - ÉNS de Lyon, France, November 2012.Google Scholar
  20. [371]
    C. Q. Lauter. Arrondi Correct de Fonctions Mathématiques. Ph.D. thesis, École Normale Supérieure de Lyon, Lyon, France, October 2008. In French, available at http://www.ens-lyon.fr/LIP/Pub/Rapports/PhD/PhD2008/PhD2008-07.pdf.
  21. [433]
    C. Mouilleron and G. Revy. Automatic generation of fast and certified code for polynomial evaluation. In 20th IEEE Symposium on Computer Arithmetic, pages 233–242, 2011.Google Scholar
  22. [502]
    S.-K. Raina. FLIP: a Floating-point Library for Integer Processors. Ph.D. thesis, École Normale Supérieure de Lyon, September 2006. Available at http://www.ens-lyon.fr/LIP/Pub/PhD2006.php.
  23. [509]
    G. Revy. Implementation of binary floating-point arithmetic on embedded integer processors: polynomial evaluation-based algorithms and certified code generation. Ph.D. thesis, Université de Lyon - ÉNS de Lyon, France, December 2009.Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Jean-Michel Muller
    • 1
  • Nicolas Brunie
    • 2
  • Florent de Dinechin
    • 3
  • Claude-Pierre Jeannerod
    • 4
  • Mioara Joldes
    • 5
  • Vincent Lefèvre
    • 4
  • Guillaume Melquiond
    • 6
  • Nathalie Revol
    • 4
  • Serge Torres
    • 7
  1. 1.CNRS - LIPLyonFrance
  2. 2.KalrayGrenobleFrance
  3. 3.INSA-Lyon - CITIVilleurbanneFrance
  4. 4.Inria - LIPLyonFrance
  5. 5.CNRS - LAASToulouseFrance
  6. 6.Inria - LRIOrsayFrance
  7. 7.ENS-Lyon - LIPLyonFrance

Personalised recommendations