kmmyk 发表于 2023-12-6 11:40:41

测试STC8H的硬件16位乘除法器,MDU16

程序很简单,这里就不班门弄斧了,直接看结果:




从图上可知,一个32位除以16位的算法,消耗的时钟为硬件27个,软件665个。差别还是非常大的,近25倍。
我又测试了32位的移位算法,移15位的话,软件时钟数,是硬件时钟数的12倍,很可观哦。

AI-32位8051 发表于 2023-12-6 17:07:33

楼主优秀{:handshake:}一起前进

rengran 发表于 2023-12-6 17:31:49

通过啥来计算使用的时钟数?

kmmyk 发表于 2023-12-6 19:56:28

rengran 发表于 2023-12-6 17:31
通过啥来计算使用的时钟数?

定时器计数

QQ624353765 发表于 2023-12-6 20:30:48

要用RTC测
这是我测的,没多大区别
【STC8H评测硬件MDU16】https://www.bilibili.com/video/BV1TY411z7Xa?vd_source=f3df7b525b84e45f65f1526041331823

飞捷 发表于 2023-12-7 08:33:42

应该把你的思路说出来,才比较有说服力

kmmyk 发表于 2023-12-8 09:28:33

飞捷 发表于 2023-12-7 08:33
应该把你的思路说出来,才比较有说服力

这个思路很简单,开始计算前,把定时器清零,并开始计时
等计算完了,停止计时,然后来看定时器的计数是多少,从而推算出用了多少时钟

飞捷 发表于 2023-12-8 15:49:04

kmmyk 发表于 2023-12-8 09:28
这个思路很简单,开始计算前,把定时器清零,并开始计时
等计算完了,停止计时,然后来看定时器的计数是 ...

可以试一下用STC32,32位浮点数的乘除,看差别是多少

AI-32位8051 发表于 2023-12-9 09:35:33

STC8H后续再设计的新产品:
将会搭载 MDU32硬件32位乘除,并扩充MDU16中的其他功能到32位
===还应该增加32位的加减
形成新的 MDU32+, 即后续 STC8H 的运算能力会大幅度提升到32位
大家认为这个 MDU32+ 还要增加哪些功能放到 STC8H系列中,抓紧提
===计划给 STC8H8K64U 进行全面升级到 STC8H32K64U

【新提醒】STC8H后续新设计产品,将会搭载 MDU32硬件32位乘除和您的新宝贵建议功能 - 软件库函数/原理图库/PCB库/最小包装 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区

https://www.stcaimcu.com/forum.p ... e=1&extra=#pid43076


LAOXU 发表于 2023-12-9 12:52:33

STCAI-32位8051 发表于 2023-12-9 09:35
STC8H后续再设计的新产品:
将会搭载 MDU32硬件32位乘除,并扩充MDU16中的其他功能到32位
===还应该增加32 ...

非常好, 赞一个!!!

最好把 DPTR 双指针 模式, 也改成 和 stc32 一样 (DPTR 共用同一地址), 至少 C语言 免强好调用, stc32由于寻址功能太强, 双指针用不上.

8H 的双指针 地址, 如能改为 C51支持的地址格式, 那使用就更方便了.


最后, 祝愿 STC8H 在功能上, 能早点实现 支持16 位堆栈指针 (堆栈放在 XRAM中) , 那就真正到 51的天花板了.OS 系统 跑起来一点也不差劲 {:victory:}

页: [1]
查看完整版本: 测试STC8H的硬件16位乘除法器,MDU16