Floating-point unit

Collection of the x87 family of math coprocessors by Intel

A floating-point unit (FPU), numeric processing unit (NPU),[1] colloquially math coprocessor, is a part of a computer system specially designed to carry out operations on floating-point numbers.[2] Typical operations are addition, subtraction, multiplication, division, and square root. Some FPUs can also perform various transcendental functions such as exponential or trigonometric calculations, but the accuracy can be low,[3][4] so some systems prefer to compute these functions in software.

In general-purpose computer architectures, one or more FPUs may be integrated as execution units within the central processing unit; however, many embedded processors do not have hardware support for floating-point operations (while they increasingly have them as standard).

When a CPU is executing a program that calls for a floating-point operation, there are three ways to carry it out:

  • A floating-point unit emulator (a floating-point library in software)
  • Add-on FPU hardware
  • Integrated FPU (in hardware)
  1. ^ "Intel 80287XL Numeric Processing Unit". computinghistory.org.uk. Retrieved 2024-11-02.
  2. ^ Anderson, Stanley F.; Earle, John G.; Goldschmidt, Robert Elliott; Powers, Don M. (January 1967). "The IBM System/360 Model 91: Floating-Point Execution Unit". IBM Journal of Research and Development. 11 (1): 34–53. doi:10.1147/rd.111.0034. ISSN 0018-8646.
  3. ^ Dawson, Bruce (2014-10-09). "Intel Underestimates Error Bounds by 1.3 quintillion". randomascii.wordpress.com. Retrieved 2020-01-16.
  4. ^ "FSIN Documentation Improvements in the "Intel® 64 and IA-32 Architectures Software Developer's Manual"". intel.com. 2014-10-09. Archived from the original on 2020-01-16. Retrieved 2020-01-16.