[ZLG-ARM] ARM7的速度有多快?

[复制链接]
6425|19
 楼主| eyuge2 发表于 2008-5-23 13:07 | 显示全部楼层 |阅读模式
arm的资料上讲,ARM7的速度可以达到0.9MIPS/MHz。<br />以前在《单片机与嵌入式系统》上看到过一篇《8051、ARM和DSP指令周期的测试与分析》的**,作者在文中指出如果按0.9MIPS/MHz的速度计算,ARM存储器访问指令需要花费14个指令周期。<br />我现在准备使用LPC2478做液晶屏驱动,要对速度进行一下估计。所以特意做了一下试验。<br />我用的是LPC2138,程序在flash中运行。晶振是11.0592的,cclk为11.0592×5=55.296MHz.<br />按0.9MIPS/MHz的速度计算指令周期应该是1/(0.9*55.296)=20ns<br />对P0.23进行不断的置1和清0,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;12:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IOCLR1=1&lt&lt23;&nbsp;<br />0x000001C8&nbsp;&nbsp;E581001C&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,[R1,#0x001C]<br />&nbsp;&nbsp;&nbsp;&nbsp;13:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IOSET1=1&lt&lt23;&nbsp;<br />0x000001CC&nbsp;&nbsp;E5810014&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,[R1,#0x0014]<br />用示波器看P0.23脚的变化。<br />测得的每条指令的执行时间在285ns左右,大概14个指令周期左右。<br />不知道这是何故?<br />另外对《arm嵌入式系统基础教程》中介绍指令集时讲的一句话不太明白。“ARM处理器式加载/存储体系结构的典型的RISC处理器,对存储器的访问只能使用加载何存储指令实现”的言外之意是什么?
 楼主| eyuge2 发表于 2008-5-23 13:24 | 显示全部楼层

补充说明

《8051、ARM和DSP指令周期的测试与分析》这篇**中,通过while死循环不断对引脚进行置1和清0,提到跳转指令会导致流水线清空。我为了避免这种情况的影响速度,特意在while死循环中,写了很多条重复的指令,类似如<br />while(1)<br />{<br />IOCLR1=1&lt&lt23;&nbsp;<br />IOSET1=1&lt&lt23;<br />IOCLR1=1&lt&lt23;&nbsp;<br />IOSET1=1&lt&lt23;<br />IOCLR1=1&lt&lt23;&nbsp;<br />……<br />……<br />IOCLR1=1&lt&lt23;&nbsp;<br />IOSET1=1&lt&lt23;<br />}<br />但测得的结果还是每条指令的执行时间在285ns左右。
btiger2000 发表于 2008-5-23 18:50 | 显示全部楼层

2138的I/O速度并不快!

  
mr.king 发表于 2008-5-23 20:18 | 显示全部楼层

是的,2148的快速IO是四个指令周期,比2138快

AT91SAM7S的IO用最优化方式写是三个指令周期,非最优化是7个指令周期
djyos 发表于 2008-5-24 17:18 | 显示全部楼层

0.9MIPS/MHz不是指令数

是一个标准向量,通俗地说就是能干多少活。如果51每和ARM都是每微秒执行一条指令的话,并不能得出他们的MIPS数相等的结论,而是由于ARM指令干的活不51多,ARM的MIPS数也就比51的高。
xwj 发表于 2008-5-24 17:38 | 显示全部楼层

LZ,MIPS/MHz 和 指令周期不是这么算的,指令周期是确定的!

不能*0.9或/0.9<br /><br />MIPS只是一个指令效率评估参数,因为不同核心是不同的,效率也有明显不同,有的一条指令就能完成一堆操作,而换个CPU就可能需要用几条指令才能完成同样的操作,很明显,后者的效率就要低一些<br />但指令周期还是不变的。<br /><br />只能说速度受指令周期数、核心效率影响,而不能说指令周期数是受速度影响的<br />不要把因果关系搞反了哦
xwj 发表于 2008-5-24 17:42 | 显示全部楼层

就好比:

我和你赛跑,我跑得比你快,近分析原因是我比你高,腿长占优势,所以同样频率同样体力的话我就能跑得更快些<br /><br />但不能说因为我跑得快,所以我得腿长些,<br />这样的话要是我哪天散步时走路走得比你慢了,难道我的腿就短了吗???<br />
王紫豪 发表于 2008-5-24 21:24 | 显示全部楼层

re 老徐

哈哈,你腿就是长啊
EYUGE2 发表于 2008-5-27 21:05 | 显示全部楼层

或许这样计算指令周期是不对

或许这样计算指令周期是不对,但请注意我提这个问题的主要意思。0.9MIPS/MHz是指在内核的时钟为1MHz的时候,ARM7一秒钟能执行0.9M条指令。那么在内核的时钟为55.296MHz时,ARM7一秒钟能执行指令数为&nbsp;55.296×0.9M=49.7664M。既然一秒钟执行49.7664M条指令,是不是可以认为ARM7在内核时钟为55.296MHz的时候,指令周期是1/49.7664M=20ns。请问错在哪里?<br />arm7采用RISC指令集,应该说它的大部分指令都是单周期指令。<br />STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,[R1,#0x001C]是单周期指令,执行的时间为什么那么长呢?<br /><br />
EYUGE2 发表于 2008-5-27 21:12 | 显示全部楼层

to xwj

MIPS/MHz&nbsp;和&nbsp;指令周期不是这么算的,指令周期是确定的。<br />你说的指令周期是确定,以51为例,应该是指某条指令对应的机器周期数是确定。<br />我这样计算指令周期,是在特定的频率下,以时间来衡量的,应该也没错吧。
djyos 发表于 2008-5-28 09:44 | 显示全部楼层

唉,又一个

第一要会提问题。<br />第二要认真看别人回复。<br />第三要努力思考,不要指望别人手把手教你,没义务也没时间,一般是点到为止。<br />第四要谦虚点,如果你**你对MIPS的理解是对的,神仙也帮不了你。
 楼主| eyuge2 发表于 2008-5-28 18:47 | 显示全部楼层

感谢上面所有回复的人!

哈哈,语言激烈了一些,没有攻击谁的意思。<br />我在网上搜索了很多资料,都讲MIPS(Million&nbsp;Instructions&nbsp;Per&nbsp;Second)是每秒钟执行的指令数。<br />djyos讲0.9MIPS/MHz不是指令数,如果可以的话,能不能给个网址,让我看看相关的资料。先谢谢你了!<br /><br />
zkking 发表于 2008-5-28 21:08 | 显示全部楼层

2138的IO翻转速度只能到几MHz,你这么测测不出来

  
djyos 发表于 2008-5-28 21:53 | 显示全部楼层

楼主搜索一下“dhry stone”就知道了

ARM7达到0.9MIPS/Mhz的条件是:用ads1.2编译,配置0等待内存的条件下达到的,如果用realview编译,可能超过0.9MIPS。<br />ARM9可以达到1.1MIPS/Mhz,但ARM9没有一条指令的执行时间小于1个时钟周期。<br />
uuchy000 发表于 2008-6-2 15:01 | 显示全部楼层

re

你这样测试指令速度是不对的,213x没有高速io,io的翻转速度不是很快,建议你用214x的fio试试看
swill_333 发表于 2008-6-3 18:54 | 显示全部楼层

我也被同样的问题困惑过,现在明白了,谢谢上面各位!

  
xwj 发表于 2008-6-3 18:59 | 显示全部楼层

唉,只能叹息...

  
sz_kd 发表于 2008-6-3 20:11 | 显示全部楼层

路过

  
平常人 发表于 2008-6-4 21:51 | 显示全部楼层

LZ犯了一个很大的错误,ARM7的速度可以达到0.9DMIPS/MHz

不是0.9MIPS/MHz。<br /><br />MIPS和DMIPS不是一个概念。
 楼主| eyuge2 发表于 2008-6-5 19:02 | 显示全部楼层

我的看法

在《MicroControllers&nbsp;LPC214x&nbsp;Family》的PDF中有关于IO翻转的介绍。arm普通IO翻转就是比较慢,需要多个时钟周期(cclk),如果是fast&nbsp;IO口就比较快。<br />btiger2000、mr.king、zkking、uuchy000等的说法是比较合理的。<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

1369

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部