FPU
FPU是Floating Point Unit的简称,中文为浮点运算单元. 是一种用于执行浮点数运算的计算机组件.
浮点运算,对于定点CPU(没有FPU的CPU)来说,必须按照IEEE-754标准的算法来完成运算,这是相当耗费时间的.
而对于有FPU的CPU来说,浮点运算则只是几条指令的事情,速度相当快.
FPU的实现方法:
- 硬件FPU: 直接在处理器芯片上实现,通过专用电路执行浮点运算. 这种方式速度快,但设计复杂,成本较高. 现代高性能处理器通常都包含硬件FPU.
- 软件FPU: 在没有硬件FPU的系统上,通过软件模拟来执行浮点运算. 这种方式灵活性高,但是速度相对较慢,主要用于低成本或嵌入式系统.
由各系列应用方向及成本的综合考虑,AT32F415xx、AT32F421xx 和 AT32F425xx 系列不支持
硬件浮点运算单元。
浮点运算的精度与误差
- 单精度与双精度: IEEE 754标准定义了单精度和双精度浮点数格式,双精度提供更高的精度和更大的表示范围.想要详细了解这两种精度的浮点数格式,可以参考我写的这篇博客:定点数和浮点数
- 数值误差: 浮点运算中不可避免地会产生舍入误差,尤其是在进行大量连续运算时,这种误差会累加. 因此,在进行高精度计算时,需要特别注意数值稳定性和误差控制.