浮点运算是针对“浮点数”的数学计算。浮点数是一种用来表示实数的计算机数据类型,它可以表示非常大或非常小的数字,以及带小数点的数字。例如:3.14159, -2.5, 6.02e23。
在嵌入式编程中,当你使用 float 或 double 类型变量进行加、减、乘、除等操作时,就是在进行浮点运算。
早期的或低成本的MCU内核通常没有专门的硬件来处理浮点数。当程序遇到浮点运算时,编译器会生成一系列基本的整数指令来“模拟”这个计算过程。
软件浮点运算:
过程: 需要几十甚至上百条整数指令来完成一次浮点乘法或除法。
缺点: 速度非常慢,消耗大量的CPU时钟周期,并且增加了代码体积。
硬件浮点运算:
过程: 如果MCU集成了硬件浮点单元,一条浮点指令(如 VADD.F32)可以直接在硬件电路上执行,通常只需1到几个时钟周期就能完成。
优点: 速度极快,效率高,CPU负载低。
|
|