找回密码
 注册
搜索
查看: 1457|回复: 11

[讨论] 为什么arm相对寻址比直接寻址慢这么多呢?

[复制链接]
发表于 2009-12-31 15:39:28 | 显示全部楼层 |阅读模式
动态加载bin文件,相对寻址,测试结果是动态加载执行比静态的立即寻址模式慢很多,这是怎么回事呢?

愿熟悉arm底层的人回答下,谢谢!
发表于 2009-12-31 15:51:49 | 显示全部楼层
没说清楚哦。
点评回复

使用道具 举报

发表于 2009-12-31 15:54:58 | 显示全部楼层
这个不清楚,帮顶一下~~~[em01][em01]
点评回复

使用道具 举报

发表于 2009-12-31 16:20:31 | 显示全部楼层
cache, jump,
点评回复

使用道具 举报

 楼主| 发表于 2009-12-31 16:21:47 | 显示全部楼层
就指令执行速度,不包括cache,jump
点评回复

使用道具 举报

发表于 2010-4-4 19:40:09 | 显示全部楼层
同问,为什么动态加载之后,执行指令一段周期之后(1MS左右)会被貌似执行中断2MS左右,之后再类似下去,导致执行效率慢了N倍,有哪位大侠知道这是为什么呢? 动态加载的程序是跑在另一块内存中!
点评回复

使用道具 举报

发表于 2010-5-21 09:43:59 | 显示全部楼层
这贴8错,顶上去。
点评回复

使用道具 举报

发表于 2010-5-21 09:59:59 | 显示全部楼层
说明你的动态加载实现有问题!加载完成后的执行和正常的应该没有区别才对,多的只是这个加载的过程!
点评回复

使用道具 举报

发表于 2010-5-21 19:02:57 | 显示全部楼层
NOR的代码可以直接片上执行

动态加载在T卡上的文件要load到给file system用的SRAM系统缓冲再执行。

执行的速度应该差不多,慢的是load过程和对T卡的文件管理操作
点评回复

使用道具 举报

发表于 2010-5-21 21:56:14 | 显示全部楼层
外部SRAM的寻址周期相对ROM来说要更长,如果是跑在内部SRAM,就会快很多。
有空的朋友可以做个试验。
点评回复

使用道具 举报

发表于 2010-5-22 10:36:15 | 显示全部楼层
在MTK6225上面实现过动态加载,没有出现执行慢的现象,另外从T卡读一个50KB的文件到RAM花时不到一秒钟.
点评回复

使用道具 举报

发表于 2010-5-23 21:16:49 | 显示全部楼层
1牛顿< 9.8千克?


动态加载执行与静态的立即寻址模式?
什么概念?

动态加载可以说是运行程序代码的一种机制,如果所要执行的代码当前不在内存中,
必要先将代码加载到内存中后才可以运行。
而相对寻址和立即寻址模式,也都只是在汇编指令的寻址方式才提及的概念。
这两者没关联的。。比较什么?

相同的程序代码,片上内存的存取周期会比片外内存快,运行在片内内存的速度当然就会快很多。
当然,通过动态加载的方式,还要考虑到程序代码会被中断换出换入的影响,
这样当然就慢许多。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-26 04:20 , Processed in 0.053147 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表