tomzbj 发表于 2022-3-9 22:40:28

测了GD32VF103的Dhrystone性能, 居然有1.98DMIPS/MHz?

官方标称108M时153DMIPS, 合1.46DMIPS/MHz
我实测了一下, 108M时居然跑到了214DMIPS, 合1.98DMIPS/MHz了, 不知道是哪里出了问题.
编译器是riscv-none-embed-gcc 7.2.0, -O3优化.

顺便试了一下超频, 144M正常, 168M正常, 192M正常,208M不运行, 降到200M不太稳定, 再降回192M,稳了.
这时跑分达到了382DMIPS.

完整数据见github链接:
https://github.com/tomzbj/dhrystone_score

wye11083 发表于 2022-3-9 23:35:38

优化的锅可能,gd应该是开os跑的,os比o2在有cache条件下慢一小半。

tomzbj 发表于 2022-3-10 08:58:33

wye11083 发表于 2022-3-9 23:35
优化的锅可能,gd应该是开os跑的,os比o2在有cache条件下慢一小半。
(引用自2楼)

开Os的话只有0.88DMIPS/MHz, 又比标称的1.46DMIPS/MHz慢太多了...

cloudboy 发表于 2022-3-10 09:57:22

楼主和我跑出来的差不多,GD32VF103 108M下Dhrystone开启flto分数是1.9491 DMIPS/MHz,Coremark是3.081 Coremark/MHz
48M下开启和未开启flto的Dhrystone分数是:1.9293   1.5218
由于GD32V的flash是sram模拟的,所以分数基本上和频率无关,我猜官方可能没有开flto?
我们自己也有设计RISCV的CPU,而且还是E指令集的不是完整的I,Dhrystone都能跑到2.36
RISCV跑Dhrystone的分数都是普遍碾压ARM的,Coremark分数的话也是比ARM高,不过没有Dhrystone的分数高的那么多

cloudboy 发表于 2022-3-10 09:58:23

另外备注一下上面的编译基本参数均是GCC -O2

wye11083 发表于 2022-3-10 10:52:06

cloudboy 发表于 2022-3-10 09:57
楼主和我跑出来的差不多,GD32VF103 108M下Dhrystone开启flto分数是1.9491 DMIPS/MHz,Coremark是3.081 Cor ...
(引用自4楼)

根据老外的测试,rv32imc/emc的指令密度比其它家的都低。。

tomzbj 发表于 2022-3-10 10:54:25

cloudboy 发表于 2022-3-10 09:57
楼主和我跑出来的差不多,GD32VF103 108M下Dhrystone开启flto分数是1.9491 DMIPS/MHz,Coremark是3.081 Cor ...
(引用自4楼)

汗, 我也没开flto啊? 晚上回去加上-flto再试试. 难道是riscv-none-embed-gcc默认就开flto了?

carefree1986 发表于 2022-3-10 10:57:43

这东西烧写还能用jlink吗?

tomzbj 发表于 2022-3-10 11:13:34

本帖最后由 tomzbj 于 2022-3-10 11:15 编辑

carefree1986 发表于 2022-3-10 10:57
这东西烧写还能用jlink吗?
(引用自8楼)

说起来比较折腾,

jlink v8/v9不支持, 据说得v10?
stlink, 肯定是不行的
gdlink, 得带jtag的版本, 只有swd的也不行

我买了个50多的山寨gdlink, 然后发现用gdlink的gui界面能写, 命令行界面一运行就卡住不动了, 但是gdlink那个gui实在是不好用.

然后呢, 某天看到说gdlink其实就是daplink, 于是翻出来老早以前买的一个daplink, 没想到这东西用gdlink的gui和cli都好使, 就它了.

购买链接如下, 当时才20多, 现在涨价了.

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.4e8a2e8decgDxj&id=586425846353&_u=a201cs8arcb61f

carefree1986 发表于 2022-3-10 12:00:18

tomzbj 发表于 2022-3-10 11:13
说起来比较折腾,

jlink v8/v9不支持, 据说得v10?
(引用自9楼)

这么坑,GD的支持这么差劲

XIVN1987 发表于 2022-3-10 12:10:38


GD32VF103调试接口只支持JTAG,,要占4根引脚,,感觉有点儿浪费

vuo50z 发表于 2022-3-10 13:59:34

XIVN1987 发表于 2022-3-10 12:10
GD32VF103调试接口只支持JTAG,,要占4根引脚,,感觉有点儿浪费
(引用自11楼)

JTAG是IEEE1149标准,swd是arm公司为了节省IO自己定义的,估计不能随便用。

XIVN1987 发表于 2022-3-10 14:29:38

vuo50z 发表于 2022-3-10 13:59
JTAG是IEEE1149标准,swd是arm公司为了节省IO自己定义的,估计不能随便用。
(引用自12楼)

可以支持cJTAG,,两线的JTAG,,IEEE 1149.7标准

cloudboy 发表于 2022-3-10 17:15:21

wye11083 发表于 2022-3-10 10:52
根据老外的测试,rv32imc/emc的指令密度比其它家的都低。。
(引用自6楼)

RV的指令密度我感觉是肯定低的,很多高级指令都没有的,比如操作自增什么的

XIVN1987 发表于 2022-3-10 19:47:04

cloudboy 发表于 2022-3-10 17:15
RV的指令密度我感觉是肯定低的,很多高级指令都没有的,比如操作自增什么的 ...
(引用自14楼)

risc-v存取指令的寻址模式没cortex-m灵活,但risc-v的内核寄存器比cortex-m多一倍还多,,程序中的load/store指令可能会少很多

王二小 发表于 2024-6-14 12:33:42

大佬测一下目前卷王PY32F002B啊, 另外为啥不用CoreMark呢?

tomzbj 发表于 2024-6-17 23:19:26

王二小 发表于 2024-6-14 12:33
大佬测一下目前卷王PY32F002B啊, 另外为啥不用CoreMark呢?
(引用自16楼)

py32这个没啥好测的吧@@ 我手里有PY32F002A, 有空试试

stm32的datasheet里基本都给了dhrystone参考分数吧, coremark只有最新几款有
页: [1]
查看完整版本: 测了GD32VF103的Dhrystone性能, 居然有1.98DMIPS/MHz?