Reconfigurable custom floating-point instructions (abstract only)

  • Authors:
  • Zhanpeng Jin;Richard Neil Pittman;Alessandro Forin

  • Affiliations:
  • University of Pittsburgh, Pittsburgh, PA, USA;Microsoft Research, Redmond, WA, USA;Microsoft Research, Redmond, PA, USA

  • Venue:
  • Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

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.