你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[Coremark跑分评测] STM32 跑分系列初步小结

[复制链接]
wolfgang2015 发布时间:2016-12-5 21:03
本帖最后由 wolfgang2015 于 2018-1-12 10:33 编辑

  年末了,工作的事情终于告一段落,这几天有空了,又刚好碰到F769I-Disco系列的评测活动,发现即便同一芯片和板子跑出来的Coremark 分值也参差不齐,有高有低。周末把自己宅在家里一天,用自己的环境和手边的几个Nucleo板子做几个简单的跑分测试。然后通过自己的跑分同其他网友的跑分以及官方的跑分做对比、参考看看是否有什么问题造成了各自跑分不同


直道目前,ST推出了超低功耗、主流型、超高性能型几系列的芯片
001.jpg


同时官方也给除了自己的Coremark
F0/F1/F3主流系列的Coremark 分值如下图:

002.jpg


L0/L1/L3超低功耗系列的Coremark 分值如下图:
003.jpg


F2/F4/F7超高性能系列的Coremark 分值如下图:
004.jpg


我这里板卡有限,有的还在做其他的开发试验这里就先做了几个Nucleo开发板的评测:


Nucleo-F030R8  CoreMark 1.0 : 76.456107 参考官方跑分:106(同主频)跑分对比:72.13%
Nucleo-F401RE  CoreMark 1.0 : 217.959895 参考官方跑分:604(180MHz)不具对比性
Nucleo-F767ZI  CoreMark 1.0 : 901.117386 参考官方跑分:1082(同主频) 跑分对比:83.28%  
Nucleo-L073RZ  CoreMark 1.0 : 55.522653 参考官方跑分:75(同主频) 跑分对比:74.03%
Nucleo-L432KC  CoreMark 1.0 : 205.581539 参考官方跑分:273(同主频) 跑分对比:75.30%  
Nucleo-F413ZH  CoreMark 1.0 :  259.197180 参考官方跑分:604(180MHz)不具对比性

基本上均为官方跑分的72%~75% ,性能相差近1/4。F7性能最接近在83.28左右比其他的跑分高10%左右,,不知道这是不是得益于芯片的性能提升和大缓存技术,平滑了编译器优化等级带来的影响。


排除了验证方法的差异后,其实可以得出这样的一个结论:

    评测跑分的工具——GCC编译器存在着差异


跑分对编译器的优化等级 -O 参数有严重倚赖,各位所使用的ARM编译工具属于以下三大体系中的一种
1、ARM RealView (armcc)     其代表工具是:Keil MDK
    优化等级能到 -O3

2、IAR EWARM (iccarm)       其代表工具为:IAR Embedded Workbench
    优化等级能到 -Ohs    (height speed)

3、GNU Compiler Collection (gcc) 代表工具就是:Eclipse + Ac6  /  Linux + arm-none-eabi
    优化等级能到 -O3

   我的评测环境刚好就是第三种,如果参考网友与官方接近的跑分所使用的工具为IAR Embedded Workbench,那么可以简单的推测出,在IAR -Ohs 编译环境下,能将ST芯片的性能发挥到最大。
GNU Compiler Collection -O3的优化能达到到 IAR -Ohs的3/4左右的分值;跟IAR 在-O3 的优化能力差不多;ARM RealView -O3 的优化能力也仅有-Ohs 3/4 左右。   但不过IAR的-Ohs优化牺牲了些什么,从这个评测中还无法得知。只能希望对编译器有更深入了解的网友来解答,或者通过其他的评测内容来对各种编译器的性能作一个数据说明。

  三种编译工具,是由不同的编译厂家/爱好者制作,其编译器编译出来的代码大小、执行效率是不同,即便在同一款主板上执行,执行的结果也是不样的。

  跑分只是一个我们了解编译器、了解主板芯片性能的一个直观表现,这个结果可为我们选择编译器提供了参考和借鉴。在什么样的环境下用什么样的编译器提供一些直观体验。


  功欲善其事,必先利其器。评测的结果测得了对开发板的了解,对开发工具的了解,还是很值得的。希望大家能利用自己手边的板子加入到相关评测活动中,能从侧面对ST芯片和主板有深入一点的了解,也能对工具了解深入一步


相关评测文档参考:
       [Coremark跑分评测] Nucleo-L073RZ Coremark跑分
        [Coremark跑分评测] Nucleo-L432KC Coremark跑分
        [Coremark跑分评测] Nucleo-F030R8 Coremark跑分
        [Coremark跑分评测] Nucleo-F401RE Coremark跑分      
        [Coremark跑分评测] Nucleo-F767ZI Coremark跑分      
        [Coremark跑分评测] Nucleo-F413ZH Coremark跑分      

















收藏 1 评论18 发布时间:2016-12-5 21:03

举报

18个回答
5265325 回答时间:2016-12-6 01:30:25
yhyeefocus 回答时间:2016-12-6 03:49:13
楼主专家了,学习
高二毛 回答时间:2016-12-6 08:22:06
感谢分享,讲解的很想详细啊。上面几个编译器汇总,貌似IAR的编译最强大,相同的代码编译出来的代码最短,执行效率也就更高一些。
楼主如果有时间可以将一段代码在三个编译器上都编译一下,然后看一下汇编代码部分,进行对比。
为楼主向技术的根里刨的精神点赞!!!
alles_ok>>0_0<< 回答时间:2016-12-6 08:39:36
学习了。。。
jackten 回答时间:2016-12-6 09:17:47
学习学习              
左岸右岸 回答时间:2016-12-6 09:20:08
IAR的优化效率相对高点
wolfgang2015 回答时间:2016-12-6 09:24:21
本帖最后由 wolfgang2015 于 2016-12-6 09:30 编辑
左岸右岸 发表于 2016-12-6 09:20
IAR的优化效率相对高点

只是这点跑分上得出相对高点,其他的相关编译器规范指标,还无从得知。有些性能的提升会牺牲编译后的代码段长度,牺牲浮点运算,当然没有浮点运算的CPU自然不会,这仅仅是个跑分测试,如果是多信号的计算验证,相同时间内,或者一定时间内谁的计算结果接近于样本值,这才是考验MCU计算能力主要表现。

要不别人也不会推出这么好的开发工具。
andypanfan 回答时间:2016-12-6 09:37:56
limale 回答时间:2016-12-6 09:44:39
谢谢分享
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版