Software Implementation of Floating-Point Arithmetic
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.
- 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
- 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
- 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
- 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
- M. Cornea, J. Harrison, and P. T. P. Tang. Scientific Computing on Itanium ®; -based Systems. Intel Press, Hillsboro, OR, 2002.Google Scholar
- B. de Dinechin. From machine scheduling to VLIW instruction scheduling. ST Journal of Research, 1(2), 2004.Google Scholar
- M. D. Ercegovac and T. Lang. Digital Arithmetic. Morgan Kaufmann Publishers, San Francisco, CA, 2004.Google Scholar
- J. R. Hauser. The SoftFloat and TestFloat Packages. Available at http://www.jhauser.us/arithmetic/.
- 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.
- 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
- 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
- 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
- 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
- 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
- C.-P. Jeannerod and G. Revy. FLIP 1.0: a fast floating-point library for integer processors. http://flip.gforge.inria.fr/, February 2009.
- 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
- 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
- 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.
- 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
- 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.
- 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