问答

汇集网友智慧,解决技术难题

21ic问答首页 - 疑惑——GD32F405的浮点数是摆设?

GD32F405 浮点数 se pow BLE

疑惑——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 幂运算的时间确在下降,按理不应该是没有浮点数功能时耗时更大码,迷惑、迷惑、迷惑......

是没有设置对还是哪里搞错了,求高手指点?

谢谢大家!

回答 +关注 6
629人浏览 3人回答问题 分享 举报
3 个回答
  • 编译时有硬件浮点和软件浮点选项,double型浮点m4核好像硬件不支持
  • 顶一个,看是否有大佬解答
  • 又做了个详细的测试,见 表格:

    PS : FP64  定义为 double 类型
    感觉:
       1. 对一般的浮点数乘、加运算,貌似不使用浮点数功能计算时间还短些;
       2. 一旦勾选了 Use MicroLib 计算时间马上翻倍的增减;
       3. 特殊的浮点数运算 如 pow 等,需要使用浮点数,但是不能包含  #include  "math.h" 和 #include  "arm_math.h" ,这样时间有一定的优势;

        迷惑 —— MicroLib 不能否选,感觉使用浮点数的优势不大, 不知道理解的对否?

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