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: