发新帖本帖赏金 100.00元(功能说明)我要提问
返回列表
[CW32F030系列]

【CW32F030CxTx StartKit测评】08.CoreMark性能测试

[复制链接]
2711|14
手机看帖
扫描二维码
随时随地手机跟帖
xld0932|  楼主 | 2022-7-16 16:59 | 显示全部楼层 |阅读模式
本帖最后由 xld0932 于 2022-7-16 17:21 编辑

众所周知,在嵌入式系统行业用于评价CPU性能指标的标准主要有3种:CoreMark、Dhrystone和MIPS,其中CoreMark是一种新流行的嵌入式系统处理器测试基准,也是被认为是比Dhrystone和MIPS更具有实际价值的测试基准。我们今天将使用CoreMark这个方法基于CW32F030CxTx StartKit开发板来评估一下CW32F030系列MCU在MDK集成开发环境下使用不同编译优化等级时的运行效率。

CoreMark是用来衡量嵌⼊式系统中微控制器性能的标准。代码使用C语言编写、通过包含列举(查找和排序)、数学矩阵操作(普通矩阵运算)、状态机(确定输⼊流中是否包含有效数字),以及CRC(循环冗余校验)等算法的测试给出性能评价。Dhrystone是测量处理器运算能力的最常见基准程序之一,Dhrystone并不包括浮点运算所以常用于处理器的整型运算性能的测量其输出结果为每秒钟运行Dhrystone的次数,即每秒钟迭代主循环的次数程序是用C语言实现的,因此C编译器的编译效率对测试结果也有很大影响。同时Dhrystone在后期的实践当中也不存在不少的缺陷,所以才有了后面CoreMark慢慢取代Dhrystone的趋势

对于CoreMark的源码可以到官网上去下载,在Git上还有很多分享;对于基本的移植过程,各家MCU大体都一样,本文不再详细一步步描述,主要是还是看一下测试结果。


CoreMark测试
使用CW32F030系列MCU在工作频率为64MHz时,在KEIL MDK集成开发环境下,测试了几个不同编译选择的结果,如下表所示:
编译优化选项
CoreMark
CoreMark
-o0
54
0.84 CoreMark/MHz
-o1
70
1.09 CoreMark/MHz
-o2
75
1.17 CoreMark/MHz
-o3
75
1.17 CoreMark/MHz


运行截图
1.png 2.png 3.png 4.png


跑分对于编译器的优化等级有严重依赖,我们用得最多的集成开发环境有KEIL MDK、IAR EWARM和GCC环境,这三种编译工具所编译出来的代码大小、执行效率都是不同的,当然执行结果也是不一样的;所以跑分只是基于解编译器对芯片性能的一个直观表现,这个结果可以让我们在基于某个芯片平台时选择使用哪种编译器可以达到最优性能提供了参考。


附件
软件工程源代码: Template.zip (9.03 MB)

使用特权

评论回复

打赏榜单

21ic小管家 打赏了 100.00 元 2022-08-10
理由:优质内容

快捷键CQ| | 2022-7-21 11:35 | 显示全部楼层
代码很详细,感谢楼主分享

使用特权

评论回复
xld0932|  楼主 | 2022-7-21 13:27 | 显示全部楼层
快捷键CQ 发表于 2022-7-21 11:35
代码很详细,感谢楼主分享

使用特权

评论回复
快捷键CQ| | 2022-7-21 13:30 | 显示全部楼层
这都完成了8篇评测了?压力太大了,看来现金奖励我是没希望了

使用特权

评论回复
xld0932|  楼主 | 2022-7-21 13:34 | 显示全部楼层
快捷键CQ 发表于 2022-7-21 13:30
这都完成了8篇评测了?压力太大了,看来现金奖励我是没希望了

你可以的!


还有十多天的时间呢……

使用特权

评论回复
快乐至上333| | 2022-7-22 14:08 | 显示全部楼层
楼主是蓝V,那肯定不是咱们这访客用户能比的。看了楼主写的内容,学习了很多

使用特权

评论回复
juliestephen| | 2022-7-24 22:11 | 显示全部楼层
移植的时候报错是什么问题?  

使用特权

评论回复
i1mcu| | 2022-7-24 23:46 | 显示全部楼层
运行以后,会跑飞程序。   

使用特权

评论回复
xld0932|  楼主 | 2022-7-25 08:31 | 显示全部楼层
i1mcu 发表于 2022-7-24 23:46
运行以后,会跑飞程序。

我这边一切正常

使用特权

评论回复
E=MC2U| | 2022-7-26 08:50 | 显示全部楼层
IAR for ARM V7.70 编译的coremark结果:

Freq
Unit
coremark
uA
coremark/MHz
coremark/mA
4
MHz
9.945
2.49
FlashWait=0, CACHE=0,  FETCH=0
8
MHz
19.972
2.50
FlashWait=0, CACHE=0,  FETCH=0
12
MHz
29.997
2.50
FlashWait=0, CACHE=0,  FETCH=0
16
MHz
40.026
2.50
FlashWait=0, CACHE=0,  FETCH=0
24
MHz
60.078
3510
2.50
17.12
FlashWait=0, CACHE=0,  FETCH=0
48
MHz
119.310
6220
2.49
19.18
FlashWait=1, CACHE=1,  FETCH=1
64
MHz
138.552
7830
2.16
17.70
FlashWait=2, CACHE=1,  FETCH=1
72
MHz
155.877
8690
2.16
17.94
FlashWait=2, CACHE=1,  FETCH=1

使用特权

评论回复
xld0932|  楼主 | 2022-7-26 09:02 | 显示全部楼层
本帖最后由 xld0932 于 2022-7-26 17:47 编辑

CW32F030可以跑到72MHz主频么?

使用特权

评论回复
E=MC2U| | 2022-7-27 09:14 | 显示全部楼层
xld0932 发表于 2022-7-26 09:02
CW32F030可以跑到72MHz主频么?

你试试不就知道了?

使用特权

评论回复
xld0932|  楼主 | 2022-7-27 10:51 | 显示全部楼层
E=MC2U 发表于 2022-7-27 09:14
你试试不就知道了?

规格书描述最高工作频率64MHz,这种超频就算可以,也没应用需求,还有可能引入不稳定因素,还是不试了

使用特权

评论回复
koala889| | 2022-8-3 20:32 | 显示全部楼层
CoreMark还是第一次听说,
这个可以用户测试?

使用特权

评论回复
daichaodai| | 2022-8-4 18:58 | 显示全部楼层
这个跑分意义大吗?

使用特权

评论回复
发新帖 本帖赏金 100.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:上海灵动微电子股份有限公司资深现场应用工程师
简介:诚信·承诺·创新·合作

67

主题

2992

帖子

29

粉丝