Electronic – STM32F4 – Floating point unit ( FPU )

ccortex-mfloating pointstm32stm32f4

I would like to know, what is the purpose of the special FPU unit, that is advertised with STM32F4 microcontrollers ?

To quote this website :

" The Cortex-M4 core features a Floating point unit (FPU) single precision which supports all ARM single-precision data-processing instructions and data types. "

What would be the difference, if this unit was not present in the architecture ? Does this mean I need to use some special libraries / functions when doing arithmetics with floating point variables ? Thank you.

Best Answer

Yes, if you don't have a hardware floating-point unit then floating-point operations must be performed using library functions. That's what is done with typical Cortex-M3 processors that do not have hardware floating-point support, and the execution time for these operations goes up significantly.