740071911 发表于 2022-8-7 22:31

【CW32F030CxTx StartKit测评】CoreMark测试

本帖最后由 740071911 于 2022-8-17 10:40 编辑

CoreMark 是一项测试处理器性能的基准测试。代码使用 C 语言写成,包含:列举,数学矩阵操作和状态及 CRC 等运算法则。
目前 CoreMark 已迅速成为测量与比较处理器性能的业界标准基准测试。CoreMark 的得分越高,意味着性能更高。
在CoreMark 的官网上可以大家可以看到各家处理器型号的 CoreMark 得分。也可以从 CoreMark 的官网上下载测试代码,亲自测一下自己手中的片子的性能。

使用CW32F030工作频率为64MHz时,在KEIL MDK ARM Compiler V5.06 update 6 (build 750)集成开发环境下,
修改优化等级:
===================================================================================================
2022-08-17:
优化有优化空间,优化空间,之前的结果是,没有勾选时间优化,




重新选择优化时间



可以看到优化时间后,空间占用变大了,属于以空间换时间。
结果:



========================================================================

o0:54



o3:68



如果串口接受不到调试信息,请检查代码中配置的串口是否是板子上所使用的串口。
如果出现“ERROR! Must execute for at least 10 secs for a valid result!“的错误提示,说明 ITERATIONS 设定太小,可适当增加 ITERATIONS 的值。

最后附上代码





weifeng90 发表于 2022-8-8 08:04

跑分意义大吗?

740071911 发表于 2022-8-8 08:59

weifeng90 发表于 2022-8-8 08:04
跑分意义大吗?

要看你mcu做什么用

abner_ma 发表于 2022-8-13 10:03

接收乱码你这两个图片有差别吗?

740071911 发表于 2022-8-13 12:30

abner_ma 发表于 2022-8-13 10:03
接收乱码你这两个图片有差别吗?





编译器的优化等级不一样,其他的都一样啊。




E=MC2U 发表于 2022-8-16 08:27

cache + prefetch 都没有开得结果吧, 68.5@64MHz 这个分数大大落后于138.6@64MHz的真实分数

E=MC2U 发表于 2022-8-16 08:31

weifeng90 发表于 2022-8-8 08:04
跑分意义大吗?

从跑分的结果高低来看,就是看一家公司对于ARM CPU的掌控度,把握度,了解度的设计能力高低立判。

E=MC2U 发表于 2022-8-16 08:56

本帖最后由 E=MC2U 于 2022-8-16 08:57 编辑

weifeng90 发表于 2022-8-8 08:04
跑分意义大吗?
跑分的意义在于用户使用相同的成本,可以取得更高的性能。对于MCU原厂而言,跑分的高低代表着对于ARM CPU的掌控程度,把握度,设计能力的高低立判。

740071911 发表于 2022-8-16 09:20

E=MC2U 发表于 2022-8-16 08:27
cache + prefetch 都没有开得结果吧, 68.5@64MHz 这个分数大大落后于138.6@64MHz的真实分数 ...

你有用过这款芯片吗,我没看到有cache,
还有你所谓的真实数据又是从哪里得到的呢

E=MC2U 发表于 2022-8-16 21:43

烦请仔细看一下User Manual page122

E=MC2U 发表于 2022-8-16 21:44

740071911 发表于 2022-8-16 09:20
你有用过这款芯片吗,我没看到有cache,
还有你所谓的真实数据又是从哪里得到的呢 ...

烦请仔细看一下User Manual page122,上面有cache的描述

740071911 发表于 2022-8-16 22:04

E=MC2U 发表于 2022-8-16 21:44
烦请仔细看一下User Manual page122,上面有cache的描述

哈哈,还真有,我印象中st只有m7以上才有,我先试试看

740071911 发表于 2022-8-16 23:22

E=MC2U 发表于 2022-8-16 21:44
烦请仔细看一下User Manual page122,上面有cache的描述



开启也没有效果的。

E=MC2U 发表于 2022-8-17 09:55


E=MC2U 发表于 2022-8-17 10:09

这是STM32G0的Coremark分数

740071911 发表于 2022-8-17 10:10

本帖最后由 740071911 于 2022-8-17 10:39 编辑

E=MC2U 发表于 2022-8-17 09:55

我已经知道怎么回事了,跟cache + prefetch 开不开一点关系都没有,只有m7以上才有数据缓存和指令缓存的,


没有勾选,优化空间。
勾选后,优化时间。



相当于以空间换时间。

结果(cache + prefetch开不开都是同一个结果)




740071911 发表于 2022-8-17 10:25

E=MC2U 发表于 2022-8-17 09:55


我在1楼补充了结果,分数偏低的原因:是优化时间复选框没勾选。
也测试了cache+prefetch,使能后,分数一点没涨

740071911 发表于 2022-8-17 10:28

E=MC2U 发表于 2022-8-17 10:09
这是STM32G0的Coremark分数

coremark,主要是数学矩阵操作和状态及 CRC 等运算,所以flash加速对coremark并没有加成,加成是需要指令缓存和数据缓存。cortex-m7以上的才可以

E=MC2U 发表于 2022-8-18 09:57

740071911 发表于 2022-8-17 10:28
coremark,主要是数学矩阵操作和状态及 CRC 等运算,所以flash加速对coremark并没有加成,加成是需要指令 ...

仔细看看贴图中 STM32G0,cortex-M0+的内核,打开关闭 cache+prefetch的性能差别

740071911 发表于 2022-8-18 10:17

E=MC2U 发表于 2022-8-18 09:57
仔细看看贴图中 STM32G0,cortex-M0+的内核,打开关闭 cache+prefetch的性能差别

不用看,你有测试过吗,我打开关闭 cache+prefetch测试了,结果没有变化
页: [1] 2
查看完整版本: 【CW32F030CxTx StartKit测评】CoreMark测试