# FPU

Stands for "Floating Point Unit." An FPU is a processor or part of a processor that performs floating point calculations. While early FPUs were standalone processors, most are now integrated inside a computer's CPU.

Even without a floating point unit, a CPU can handle both integer and floating point (non-integer) calculations. However, integer operations use significantly different logic than floating point operations, which makes it inefficient to use the same processor to handle both types of operations. An FPU provides a faster way to handle calculations with non-integer numbers.

Any mathematical operation, such as addition, subtraction, multiplication, or division can be performed by either the integer processing unit or the FPU. When a CPU receives an instruction, it automatically sends it to the corresponding processor. For example, 12 + 5 would be processed as an integer calculation, while 1.0023 x 5.789 would get sent to the FPU. While it is possible for a programmer to write an instruction specifically for either processing unit, it is usually unnecessary.

Since integer and floating point performance can vary significantly, most processor benchmarks include both types of operations. Integer calculation speed is typically listed as "integer performance" and is labeled "SPECint" in SPEC benchmarks. FPU calculation speed is often listed as "floating point performance" and can be measured in FLOPS.