arm 存储指令周期疑惑,大家来解答

xiaozhaofei 2012-11-28 08:45:19
一般外存访问指令执行周期跟主频、cache、总线以及存储器速度有关。
ARM中比如读存储器指令LDR r0,r1;
从手册中看到如果命中cache,也得3个cycle周期的时延。

这里有些疑惑,假如带MMU功能,请大家解答下:
比如执行一条LDR指令,是读外部存储器,没有命中cache的情况下,指令完成的依据是什么?外部存储器返回给内核一个OK的信号?如果是外部信号谁给的?

我们知道手册里都有说明,比如说给出LDR访问外存时需要5个cycle。一直没搞明白,假如需要外部返回信号的话,那给出的cycle是不是只能当参考了。
...全文
239 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天冰天降 2012-12-05
  • 打赏
  • 举报
回复
这个和主频有关,主频高的时候,cycle多,也就是和外部ram的时间值配合,就是和实际的器件存取速度有关
子善旬 2012-12-03
  • 打赏
  • 举报
回复
首先 LDR r0,r1; 不能这么用 比如执行一条LDR指令,是读外部存储器,没有命中cache的情况下,指令完成的依据是什么?外部存储器返回给内核一个OK的信号?如果是外部信号谁给的? 从主存取值或执行指令,在cpu中,是有严格时序和步骤的,步骤结束指令就完成;外部信号是ram给的,这个是硬件电路信号,与软件没关系 我们知道手册里都有说明,比如说给出LDR访问外存时需要5个cycle。一直没搞明白,假如需要外部返回信号的话,那给出的cycle是不是只能当参考了。 cache miss时,访问主存时的时间是5 cycle

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧