Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1723112.1723173acmconferencesArticle/Chapter ViewAbstractPublication PagesfpgaConference Proceedingsconference-collections
poster

Reconfigurable custom floating-point instructions (abstract only)

Published: 21 February 2010 Publication History

Abstract

Multimedia and communication algorithms from the embedded system domain often make extensive use of floating-point arithmetic. Due to the complexity and expense of the floating-point hardware, these algorithms are usually converted to fixed point operations, or implemented using floating-point emulation in software. This study presents the design and implementation of custom floating-point units, leveraging the partial reconfiguration feature of state-of-the-art FPGAs. The custom floating-point units can be dynamically configured, loaded, and executed when needed by software applications. The system is binary compliant with the conventional MIPS architecture and the IEEE-754 standard, and supports most of the floating-point operations and relevant functionalities. Furthermore, we investigate various customization strategies and construct a set of optimized functional modules to meet different application demands or requirements. Using LINPACK as a floating-point intensive example, we replace a sequence of 25 instructions with a custom unit, and demonstrate an overall 80x application speedup.

References

[1]
Beauchamp, M. J., Hauck, S., Underwood, K. D., and Hemmert, S. Architectural Modifications to Enhance the Floating-Point Performance of FPGAs. IEEE Transactions on VLSI Systems, 16, 2 (2008), 177--187.
[2]
Behm, M., Ludden, J., Lichtenstein, Y., Rimon, M., and Vinov, M. Industrial experience with test generation languages for processor verification. In Proceedings of ACM/IEEE Design Automation Conference ( 2004), 36--40.
[3]
Booth, A. D. A signed binary multiplication technique. Quarterly Journal of Mechanics and Applied Mathematics, 4 (June 1951), 236--240.
[4]
Chandra, A., Geist, D, Wolfsthal, Y. et al. AVPGEN - A test generator for architecture verification. IEEE Transactions on VLSI Systems, 3 (1995), 188--200.
[5]
Chong, Y. J. and Parameswaran, S. Flexible Multi-Mode Embedded Floating-Point Unit for Field Programmable Gate Arrays. In Proceedings of the ACM/SIGDA Symposium on Field Programmable Gate Arrays ( 2009), 171--180.
[6]
Davis, J. D., Thacker, C. P., and Cheng, C. BEE3: Revitalizing Computer Architecture Research. MSR-TR-2009-45, Microsoft Research, Redmond, WA, 2009.
[7]
Dongarra, J. The LINPACK Benchmark: An Explanation. Lecture Notes in Computer Science, 297 (1988), 456--474.
[8]
Ercegovac, M. D. and Lang, T. Digital Arithmetic. Morgan Kaufmann, San Francisco, CA, 2004.
[9]
Flynn, M. J. and Oberman, S. F. Advanced Computer Arithmetic Design. Wiley-Interscience, Malden, MA, 2001.
[10]
Forin, A., Neekzad, B., and Lynch, N. L. Giano: The Two-Headed System Simulator. MSR-TR-2006-130, Microsoft Research, Redmond, WA, 2006.
[11]
Hauser, J. SoftFloat. Available: http://www.jhauser.us/arithmetic/SoftFloat.html.
[12]
Hennessy, J. L. and Patterson, D. A. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, San Francisco, CA, 2006.
[13]
Herbordt, M. C., Model, J., Gu, Y., Sukhwani, B., and VanCourt, T. Single Pass, BLAST-Like, Approximate String Matching on FPGAs. In Proc. of IEEE Symp. Field-Prog-rammable Custom Computing Machines ( 2006), 217--226.
[14]
Ho, C. H., Yu, C. W., Leong, P., Luk, W., and Wilton, S. J. E. Floating-Point FPGA: Architecture and Modeling. to appear in IEEE Transactions on VLSI Systems (2009).
[15]
IEEE STD 754-1985. IEEE Standard for Binary Floating-Point Arithmetic. IEEE Computer Society. 1985.
[16]
IEEE STD 754-2008. IEEE Standard for Floating-Point Arithmetic. IEEE Computer Society. 2008.
[17]
Kane, G. and Heinrich, J. MIPS RISC Architecture. Prentice Hall PTR, Upper Saddle River, NJ, 1992.
[18]
Karlstrom, P., Ehliar, A., and Liu, D. High Performance Low Latency FPGA based Floating Point Adder and Multiplier Units in a Virtex 4. In Proceedings of the 24th Norchip Conference ( 2006), 31--34.
[19]
Karuri, K., Leupers, R., and Kedia, M. Design and Implementation of a Modular and Portable IEEE 754 Compliant Floating-Point Unit. In Proceedings of Design, Automation and Test in Europe (DATE) ( 2006), 1--6.
[20]
Krueger, S. D. and Seidel, P. M. Design of an On-Line IEEE Floating-Point Addition Unit for FPGAs. In Proceedings of IEEE Symposium on Field-Programmable Custom Computing Machines ( 2004), 239--246.
[21]
Langhammer, M. and Vancourt, T. FPGA Floating Point Datapath Compiler. In Proceedings of IEEE Symposium of Field-Programmable Custom Computing Machines (2009).
[22]
Meier, K. and Forin, A. Hardware Compilation from Machine Code with M2V. In Proceedings of IEEE Symp. Field-Prog-rammable Custom Computing Machines (2008), 293--295.
[23]
Oberman, S. F. and Flynn, M. J. Design Issues in Division and Other Floating-Point Operations. IEEE Transactions on Computers, 46, 2 (February 1997), 154--161.
[24]
Oberman, S. F. and Flynn, M. J. Division Algorithms and Implementations. IEEE Transactions on Computers, 46, 8 (August 1997), 833--854.
[25]
Overton, M. L. Numerical Computing with IEEE Floating Point Arithmetic. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 2001.
[26]
Pittman, R. N., Lynch, N. L., and Forin, A. eMIPS, A Dynamically Extensible Processor. 2006, MSR-TR-2006-143, Microsoft Research, Redmond, WA, Code available at http://research.microsoft.com/en-us/projects/emips.
[27]
Sahin, S., Kavak, A., Becerikli, Y., and Demiray, H. E. Implementation of Floating-Point Arithmetics using an FPGA. Mathematical Methods in Eng. (2007), 445--453.
[28]
Sam, H. and Gupta, A. A Generalized Multibit Recoding of Two's Complement Binary Numbers and Its Proof with Application in Multiplier Implementation. IEEE Trans. on Computers, 39, 8 (1990), 1006--1015.
[29]
Sekar, A. and Forin, A. Automatic Generation of Interrupt-Aware Hardware Accelerators with the M2V Compiler. MSR-TR-2008-110, Microsoft Research, Redmond, WA, 2008.
[30]
Shirazi, N., Walters, A., and Athanas, P. Quantitative Analysis of Floating Point Arithmetic on FPGA Based Custom Computing Machines. In Proceeding of IEEE Symp. FPGAs for Custom Computing Machines ( 1995), 155--162.
[31]
Underwood, K. FPGAs vs. CPUs: Trends in Peak Floating-Point Performance. In Proceedings of the 12th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA) ( 2004), 171--180.
[32]
Wallace, C. S. A Suggestion for A Fast Multiplier. IEEE Trans. on Electronic Computers, EC-13 (1964), 14--17.
[33]
Wu, G., Dou, Y., Lei, Y., Zhou, J., and Wang, M. A Fine-grained Pipelined Implementation of the LINPACK Benchmark on FPGAs. In Proceedings of IEEE Symp. Field-Programmable Custom Computing Machines (2009).
[34]
XILINX INC. Virtex-5 FPGA XtremeDSP Design Considerations User Guide, UG193(v3.3). 2009.
[35]
XILINX INC. XtremeDSP for Virtex-4 FPGAs User Guide, UG073 (v2.7). 2008.

Cited By

View all
  • (2012)Design of parallel vector/scalar floating point co-processor for reconfigurable architecture2012 International Conference on Computing, Electronics and Electrical Technologies (ICCEET)10.1109/ICCEET.2012.6203919(841-845)Online publication date: Mar-2012
  • (2012)Evaluation of the Stretch S6 Hybrid Reconfigurable Embedded CPU Architecture for Power-Efficient Scientific ComputingProcedia Computer Science10.1016/j.procs.2012.04.0219(196-205)Online publication date: 2012

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FPGA '10: Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays
February 2010
308 pages
ISBN:9781605589114
DOI:10.1145/1723112

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 February 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. emips
  2. extension
  3. floating-point
  4. partial reconfiguration
  5. reconfigurable

Qualifiers

  • Poster

Conference

FPGA '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 125 of 627 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2012)Design of parallel vector/scalar floating point co-processor for reconfigurable architecture2012 International Conference on Computing, Electronics and Electrical Technologies (ICCEET)10.1109/ICCEET.2012.6203919(841-845)Online publication date: Mar-2012
  • (2012)Evaluation of the Stretch S6 Hybrid Reconfigurable Embedded CPU Architecture for Power-Efficient Scientific ComputingProcedia Computer Science10.1016/j.procs.2012.04.0219(196-205)Online publication date: 2012

View Options

Get Access

Login options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media