[学习资料] 为什么浮点运算在MCU中是个问题?

[复制链接]
321|0
forgot 发表于 2025-10-9 16:55 | 显示全部楼层 |阅读模式
浮点运算是针对“浮点数”的数学计算。浮点数是一种用来表示实数的计算机数据类型,它可以表示非常大或非常小的数字,以及带小数点的数字。例如:3.14159, -2.5, 6.02e23。
在嵌入式编程中,当你使用 float 或 double 类型变量进行加、减、乘、除等操作时,就是在进行浮点运算。
早期的或低成本的MCU内核通常没有专门的硬件来处理浮点数。当程序遇到浮点运算时,编译器会生成一系列基本的整数指令来“模拟”这个计算过程。

软件浮点运算:
过程: 需要几十甚至上百条整数指令来完成一次浮点乘法或除法。
缺点: 速度非常慢,消耗大量的CPU时钟周期,并且增加了代码体积。

硬件浮点运算:
过程: 如果MCU集成了硬件浮点单元,一条浮点指令(如 VADD.F32)可以直接在硬件电路上执行,通常只需1到几个时钟周期就能完成。
优点: 速度极快,效率高,CPU负载低。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2115

主题

14686

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部