打印
[ZLG-MCU]

请教900系列MCU执行一条8位的乘法要多少时钟周期?

[复制链接]
1664|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wishhealth|  楼主 | 2008-1-27 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zlgmcu| | 2008-1-28 08:39 | 只看该作者

只需8周期,而普通80C51是48周期

使用特权

评论回复
板凳
zlgmcu| | 2008-1-28 09:06 | 只看该作者

从ROM表连续读取2字节情况较复杂,不好说


从ROM表读1个字节所需时间仅仅是MOVC指令的执行时间。

而ROM表连续读2字节,不只是两条MOVC,还有可能插入一条INC DPTR指令,并且ACC也可能要更新,还要保存数据。因此执行时间可能不确定。

例如:

(DPTR已指向数据地址,A=0)
MOVC  A,@A+DPTR
MOV   R0,A
CLR   A
INC   DPTR
MOVC  A,@A+DPTR
(结果在R0:A当中)

另一种(最快,只需3周期):
(DPTR已指向数据地址,A=0,R0=1)
MOVC  A,@A+DPTR
XCH   A,R0
MOVC  A,@A+DPTR
(结果在R0:A当中)

使用特权

评论回复
地板
xwj| | 2008-1-28 09:23 | 只看该作者

zlgmcu,你不觉得你3楼的程序又严重BUG吗???

以前初学时,就被zlg的程序误导过,此后再不看zlg的程序了...

使用特权

评论回复
5
zlgmcu| | 2008-1-28 09:23 | 只看该作者

已修正

使用特权

评论回复
6
zlgmcu| | 2008-1-28 14:51 | 只看该作者

re 楼主

告诉楼主一个非常简单的方法.

楼主可以写一个简单的程序,
然后在keil的软件仿真模式下单步调试,
在左边的project workspace窗口中的 [reg]子窗口中,
可以清晰地看见每条指令运行所消耗的 机器周期数,
而且非常准确.
对于LPC900,  时钟周期 = 2 x 机器周期.

from zlgmcu_kenand

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

17

帖子

0

粉丝