21ic问答首页 - 疑惑——GD32F405的浮点数是摆设?
疑惑——GD32F405的浮点数是摆设?
Larm12022-04-14
今天测试了GD32F405的浮点数,测试条件如下 168 MHZ @ 外部晶振: 1、__FPU_PRESENT == 1,且魔法棒选择 Single Precesion。
double 的乘法运算月 0.5 us 一个公式,加法运算 0.4 us, pow 幂运算 40 us。
2、__FPU_PRESENT == 0,且魔法棒选择 Not Used。
double 的乘法运算月 0.508 us 一个公式,加法运算 0.408 us, pow 幂运算 38 us。
未使用 浮点数时 浮点数的乘法和加法算是侧时间都有所增加,但是 POW 幂运算的时间确在下降,按理不应该是没有浮点数功能时耗时更大码,迷惑、迷惑、迷惑......
是没有设置对还是哪里搞错了,求高手指点?
谢谢大家!
double 的乘法运算月 0.5 us 一个公式,加法运算 0.4 us, pow 幂运算 40 us。
2、__FPU_PRESENT == 0,且魔法棒选择 Not Used。
double 的乘法运算月 0.508 us 一个公式,加法运算 0.408 us, pow 幂运算 38 us。
未使用 浮点数时 浮点数的乘法和加法算是侧时间都有所增加,但是 POW 幂运算的时间确在下降,按理不应该是没有浮点数功能时耗时更大码,迷惑、迷惑、迷惑......
是没有设置对还是哪里搞错了,求高手指点?
谢谢大家!
赞0
评论
2022-04-21
赞0
评论
2022-04-20
赞0
265316257ddb7eee80.png (287.64 KB )
下载附件
2022-4-14 16:39 上传
PS : FP64 定义为 double 类型
感觉:
1. 对一般的浮点数乘、加运算,貌似不使用浮点数功能计算时间还短些;
2. 一旦勾选了 Use MicroLib 计算时间马上翻倍的增减;
3. 特殊的浮点数运算 如 pow 等,需要使用浮点数,但是不能包含 #include "math.h" 和 #include "arm_math.h" ,这样时间有一定的优势;
迷惑 —— MicroLib 不能否选,感觉使用浮点数的优势不大, 不知道理解的对否?
评论
2022-04-14
您需要登录后才可以回复 登录 | 注册