查看: 3370|回复: 0

【GD32450i-EVAL评估板适用】+浮点运算评测

[复制链接]
  • TA的每日心情
    开心
    2017-4-1 09:51
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-1-3 09:49:30 | 显示全部楼层 |阅读模式
    分享到:
    今天继续测试GD32F450i,主题是通过浮点运算的速度评测450的运行速度。
    之所以对浮点运算的运行速度感兴趣,是因为前段时间公司有个小项目用到浮点运算,通过调用C库中的POW函数来实现,结果发现POW函数在GD32F130上运行非常慢,一次调用要几十ms。经过测试发现有三个问题会导致运行速度过慢:1、GD32130是M3内核,没有浮点运算单元 2、调用C库中的POW函数本身也会运行很慢 3、GD32130的代码在32K后运行非常慢。所以很想知道在M4内核上浮点运算的速度到底是怎么样的。
    测试之前先对450的性能简单了解了一下,200M主频,带有FPU计算单元,看起来浮点运算的性能要有很大提升吧
    下图为M3和M4内核的对比


    下面开始编写代码,代码很简单,用一个IO做反转电平输出,示波器捕捉高电平宽度就是浮点运算的运行时间。
      TOUT0 = 1;
      aaa = pow(25.5,2.5);
      TOUT0 = 0;
      delay_ms(200);
    下图是130测试结果

    下图是450测试结果

    从图上可以明显看到450的运行时间更短,但是感觉运行速度也不是很快啊。130的主频是72M,450的内核设置的主频是200M,在不考虑FPU的设计的话,450浮点运算的速度也应该较130的有三倍的提升啊,结果只有三分之一左右的提升
    还请高手们给分析一下,是什么原因导致的450浮点运算性能提升不太明显的原因。代码要怎么设计。
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-3-28 20:44 , Processed in 0.131888 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.