打印

ARM的指令执行到底有多快?

[复制链接]
3084|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wang2250|  楼主 | 2007-3-29 20:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人使用easyARM开发板,lpc2210芯片。测了下指令执行速度,程序如下

WHILE          LDR  R0, =GPIO_BASE
               MOV   R1, #0X80
               STR   R1, [R0,#0X04]     ;GPIO输出高电平
               MOV   R1, #0X80     
               STR   R1, [R0,#0X0C]     ;GPIO输出低电平

               B   WHILE

结果高电平保持时间2.5us,低电平保持时间8us。执行两条指令要用2.5us吗?
为什么指令执行的这么慢?请高人指点一下!

附: 我把fcclk调到11.0592*4=55.296MHz,fpclk=fcclk=55.296MHz

相关帖子

沙发
computer00| | 2007-3-29 21:10 | 只看该作者

这是因为访问IO口速度慢。

使用特权

评论回复
板凳
MultiICE| | 2007-3-30 11:13 | 只看该作者

瞎扯,访问的是IO寄存器

不存在访问IO口速度慢的问题,看看你的系统时钟。

使用特权

评论回复
地板
wang2250|  楼主 | 2007-3-30 11:44 | 只看该作者

系统时钟已经调到够大了,可是还不行啊?

系统时钟设置如下

fcclk调到11.0592*5=55.296MHz,fpclk=fcclk=55.296MHz

可是指令执行时间还是1us左右,这样的速度根本处理不了什么事情。


使用特权

评论回复
5
Swd21ic| | 2007-3-30 12:26 | 只看该作者

!!!

1us..很好阿~
 赶上51了..

使用特权

评论回复
6
HWM| | 2007-3-30 12:29 | 只看该作者

LPC2000访问IO和FLASH-RAM用的不是完全相同的总线

内部FLASH用的是ARM7内部总线,而IO用的是APB。两者速率不同。

使用特权

评论回复
7
xzl| | 2007-3-30 12:53 | 只看该作者

呵呵,忽略了外围模块的时钟了

使用特权

评论回复
8
wang2250|  楼主 | 2007-3-31 20:32 | 只看该作者

又研究了一下,现在好多了

lpc2210没有内部flash
在开发板上使用的是外部存储器,在默认设置里存储器的访问速度设成最慢了,现在改成最快后,运行起来好多了

使用特权

评论回复
9
cityfly| | 2007-4-3 21:14 | 只看该作者

Re

外部Flash存储器访问过慢,把代码放到内部RAM里,好像是3.5M左右的IO口,我这样干的

使用特权

评论回复
10
ayb_ice| | 2007-4-4 11:26 | 只看该作者

随便说说

ARM没有直接寻址,当然有些慢...

使用特权

评论回复
11
xiaoerge| | 2007-4-4 12:27 | 只看该作者

是比较慢

ARM的I/O就是**肋,做点简单的事还差不多,要弄点快点的时序,门都没有

LPC的IIC引脚反应更慢

使用特权

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

本版积分规则

2

主题

4

帖子

0

粉丝