skip to main content
10.1145/1086297.1086302acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Automating custom-precision function evaluation for embedded processors

Published: 24 September 2005 Publication History

Abstract

Due to resource and power constraints, embedded processors often cannot afford dedicated floating-point units. For instance, the IBM PowerPC processor embedded in Xilinx Virtex-II Pro FPGAs only supports emulated floating-point arithmetic, which leads to slow operation when floating-point arithmetic is desired. This paper presents a customizable mathematical library using fixed-point arithmetic for elementary function evaluation. We approximate functions via polynomial or rational approximations depending on the user-defined accuracy requirements. The data representation for the inputs and outputs are compatible with IEEE single-precision and double-precision floating-point formats. Results show that our 32-bit polynomial method achieves over 80 times speedup over the single-precision mathematical library from Xilinx, while our 64-bit polynomial method achieves over 30 times speedup.

References

[1]
Accelerated System Performance with APU-Enhanced Processing, Xcell Journal, Xilinx Inc. http://www.xilinx.com/publications/xcellonline/xcell_52/xc_pdf/xc_v4acu52.pdf.
[2]
Excalibur Device Overview Data Sheet, Altera Inc. http://www.altera.com/literature/ds/ds_arm.pdf
[3]
MicroBlaze Processor Reference Guide, Xilinx Inc. http://www.xilinx.com/ise/embedded/mb_ref_guide.pdf
[4]
ML310 User Guide, Xilinx Inc. http://www.xilinx.com/products/boards/ml310/current/pcb/sch/ug068.pdf
[5]
PowerPC 405 ProcessorBlock Reference Guide, Xilinx Inc. http://www.xilinx.com/bvdocs/userguides/ppc405block_ref_guide.pdf
[6]
A. Akkaş and M.J. Schulte. "A quadruple precision and dual double precision floating-point multipler". In IEEE Symp. on Digital System Design, pages 76--81, 2003.
[7]
R. Brent. "Fast multiple-precision evaluation of elementary functions". Journal of the Association for Computing Machinery, 23(2):242--251, 1976.
[8]
N. Brisebarre, D. Defour, P. Kornerup, J. Muller, and N. Revol. "A new range-reduction algorithm". IEEE Trans. on Computers, 54(3):331--339, 2005.
[9]
M. Ercegovac, T. Tang, J. Muller, and A. Tisserand. "Reciprocation, square root, inverse square root, and some elementary functions using small multipliers". IEEE Trans. on Computers, 49(7):628--637, 2000.
[10]
S. Gal and B. Bachelis. "An accurate elementary mathmetical library for the IEEE floating point standard". ACM Trans. on Mathematical Software, 17(1):26--45, 1991.
[11]
Y. Hida, X. Li, and D. Bailey. "Algorithms for quad-double precision floating point arithmetic". In Proc. IEEE Symp. on Computer Arithmetic, pages 155--162, 2001.
[12]
C. Iordache and P. Tang. "An overview of floating-point support and math library on the Intel XScale™ architecture". In Proc. IEEE Symp. on Computer Arithmetic, pages 122--128, 2003.
[13]
J. Harrison and T. Kubaska and S. Story and P.T.P. Tang. "The computation of transendental functions on the IA-64 architecture". Intel Technology Journal, Q4, pages 1--7, 1999.
[14]
I. Koren and O. Zinaty. "Evaluation of elementary functions in a numerical co-processor based on rational approximations". IEEE Trans. on Computers, 39:1030--1037, 1990.
[15]
D. Lee, A. Abdul Gaffar, O. Mencer, and W. Luk. "Adaptive range reduction for hardware function evaluation". In Proc. IEEE Int'l Conf. on Field-Programmable Technology, pages 169--176, 2004.
[16]
T. Lynch, A. Ahmed, and M. Schulte. "The K5 transcendental functions". In Proc. IEEE Symp. on Computer Arithmetic, pages 163--170, 1995.
[17]
P. Markstein. "Computation of elementary functions on the IBM RISC System/6000 processor". IBM Journal Res. Develop., 34(1):111--119, 1990.
[18]
O. Mencer and W. Luk. "Parameterized high throughput function evaluation for FPGAs". Journal of VLSI Sig. Proc. Syst., 36(1):17--25, 2004.
[19]
J. Muller. "Elementary functions: algorithms and implementation". Birkhauser Verlag AG, 1997.
[20]
A. Nesterov. "Optimized math library for TMS320C67x DSP reference manual", 2001.
[21]
B. Parhami. "Computer Arithmetic: Algorithms and Hardware Designs". Oxford University Press, 2000.
[22]
G. Paul and W. Wilson. "Should the elementary function library be incorporated into computer instruction sets". ACM Trans. on Mathematical Software, 2(2):132--142, 1976.
[23]
M. Schulte and E.E. Swartzlander Jr. "Hardware designs for exactly rounded elementary functions". IEEE Trans. on Computers, 43(8):964--973, 1994.

Cited By

View all
  • (2014)Toward the synthesis of fixed-point code for matrix inversion based on Cholesky decompositionProceedings of the 2014 Conference on Design and Architectures for Signal and Image Processing10.1109/DASIP.2014.7115609(1-8)Online publication date: Oct-2014
  • (2011)Automatic Generation of Fast and Certified Code for Polynomial EvaluationProceedings of the 2011 IEEE 20th Symposium on Computer Arithmetic10.1109/ARITH.2011.39(233-242)Online publication date: 25-Jul-2011
  • (2009)Optimized Custom Precision Function Evaluation for Embedded ProcessorsIEEE Transactions on Computers10.1109/TC.2008.12458:1(46-59)Online publication date: 1-Jan-2009

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CASES '05: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
September 2005
326 pages
ISBN:159593149X
DOI:10.1145/1086297
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 September 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. embedded systems
  2. fixed-point arithmetic
  3. function evaluation
  4. reconfigurable computing

Qualifiers

  • Article

Conference

CASES05

Acceptance Rates

Overall Acceptance Rate 52 of 230 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Toward the synthesis of fixed-point code for matrix inversion based on Cholesky decompositionProceedings of the 2014 Conference on Design and Architectures for Signal and Image Processing10.1109/DASIP.2014.7115609(1-8)Online publication date: Oct-2014
  • (2011)Automatic Generation of Fast and Certified Code for Polynomial EvaluationProceedings of the 2011 IEEE 20th Symposium on Computer Arithmetic10.1109/ARITH.2011.39(233-242)Online publication date: 25-Jul-2011
  • (2009)Optimized Custom Precision Function Evaluation for Embedded ProcessorsIEEE Transactions on Computers10.1109/TC.2008.12458:1(46-59)Online publication date: 1-Jan-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media