background image

Chapter 3

The Floating Point Unit(FPU)

A floating point unit is a part of the processor that is specialized to carry out operations

on floating point numbers. Some of the operations are addition, subtraction, multipli-

cation, division and square root. Some modern modules can also perform trigonometric

calculations, however most systems use libraries dedicated for these operations. Most

systems have an integrated FPU however some systems implement the floating point

calculations via a co-processor. Many computers use emulators for such operations,

where the floating point is emulated and in the final stage the calculation is converted

to integer calculations. The drawback of this procedure is the low time efficiency and

poor resource management since not only the floating calculation takes more time but

valuable processing time is being taken from the main processor.

Most modern processors use embedded FPUs and even dedicated floating-point registers

such as the Intel x86 instruction set. In some cases, FPUs may be specialized, and

divided between simpler floating-point operations (mainly addition and multiplication)

and more complicated operations, like division. In some cases, only the simple operations

may be implemented in hardware or microcode, while the more complex operations are

implemented as software.

In this processor case a support for floating point calculations is mandatory, since

multimedia processing often perform repeated parallel data processing, mostly float-

ing point calculations, floating point arithmetic support is mandatory for multime-

dia applications[

14

]. For our purposes a FPU specification was selected, which could

fit within our design and would be suitable for FPGA implementation. The design

37