WHX 发表于 2024-3-21 08:36:48

来膜拜各路大神{:5_332:}

LAOXU 发表于 2024-3-21 13:38:27

BeHappy 发表于 2024-3-21 08:22
来都来了,凑个热闹再走 :-)
想问下,8位 mcu编程,有一个 2 字节组成的数字,想拆分出个、十、百、千、万 ...

8 位 HEX 是 4字节 (LONG) , 你这个算法速度太慢了, 例举的2字节已慢, 4字节要循环多少次啊?不合适

zxcv1973 发表于 2024-3-21 14:29:17

楼主可以把dhrystone程序在STC32G上优化一下,没优化的dhrystone程序远远达不到官方公布的0.655DMIPS/MHz指标

LAOXU 发表于 2024-3-22 03:01:49

zxcv1973 发表于 2024-3-21 14:29
楼主可以把dhrystone程序在STC32G上优化一下,没优化的dhrystone程序远远达不到官方公布的0.655DMIPS/MHz指 ...

标准dhrystone程序 是不能优化的, 无论对错, 都是一个参考基准.
只是计算对比 不同 cpu 的 DMIPS/MHz指标值

社区闲人 发表于 2024-3-22 08:53:58

标准dhrystone程序的算法不能优化,但可以对实现算法所用到的代码进行优化。

LAOXU 发表于 2024-3-22 10:01:09

社区闲人 发表于 2024-3-22 08:53
标准dhrystone程序的算法不能优化,但可以对实现算法所用到的代码进行优化。 ...

所有运算库, 都属于最底层函数, 只能用汇编编写(包括 SDCC).

几乎很少有优化的空间.

乐此不疲 发表于 2024-3-22 10:04:08

一个回复把楼主的主题带飞了,看来一时半会儿是无法复位了。话说,我虽然不是职业电工但我却是楼主所说的20%中的一员,玩单片机十多年啥也没做只是作为娱乐工具而已,记得当年做第一个数码时钟时也只是为了调试数码管的驱动代码,并没有做时钟的想法,时钟代码调试好了后就一直在工作台上运行,后来有了其他的玩法就拆了扔一边去了,而后家里人就问:“你桌子上的表哪去了?”于是就做成了玩单片机的第一个作品。

LAOXU 发表于 2024-3-22 10:04:39

等 STC 的 MDU32C , TFPU   IP核 , 正式加入 STC32G, 那时候可以优化一下 运算库.

zxcv1973 发表于 2024-3-22 11:53:01

LAOXU 发表于 2024-3-22 03:01
标准dhrystone程序 是不能优化的, 无论对错, 都是一个参考基准.
只是计算对比 不同 cpu 的 DMIPS/MHz指 ...

dhrystone源程序不能优化,但底层所用到的库是可以优化的,事实上ARM的dhrystone跑分高就是建立在优化的基础上,0级优化和3级优化dhrystone成绩相差巨大,并且ARM的C编译器本身优化率就相当高

zxcv1973 发表于 2024-3-22 11:58:29

LAOXU 发表于 2024-3-22 10:01
所有运算库, 都属于最底层函数, 只能用汇编编写(包括 SDCC).

几乎很少有优化的空间. ...

你研究一下dhrystone程序就能发现,最底层函数有很大的优化空间,就像你那浮点除法,用不同的实现方式速度相差巨大
页: 1 2 [3] 4
查看完整版本: 电工们的业余爱好