Rug*_*ger 5 arm cortex-a8 cpu-cache mmu
我对ARM cortex A8中PLD指令的使用有一些疑问.因为我在循环中使用指令,所以存在超出内存访问的可能性.我怀疑的是,这是否会导致分段错误.我在ARM手册中读到了这一点
由于PLD指令被所有级别的高速缓存处理为任何其他加载指令,因此PLD指令遵循标准数据依赖性规则和逐出过程.在PLD执行的任何阶段,在地址转换故障,高速缓存命中或中止的情况下,PLD指令被忽略.
因此,如果进行了超出范围的内存访问,则忽略相应的PLD指令或不是我的疑问.
aus*_*len 5
PLD指令不会产生分段错误.如果PLD要求存储器系统到达不存在的存储区域,则忽略它.
来自ARM ARM
预加载指令是提示,因此实现可以将它们视为NOP而不影响设备的功能行为.这些指令不会生成同步数据中止异常,但在特殊情况下,内存系统操作可能会生成异步中止. ... 但是,由于这些存储器系统提示之一而执行的存储器操作可能触发异步事件,从而影响处理器的执行.可能触发的异步事件的示例是异步中止和中断.
预加载指令是提示,因此实现可以将它们视为NOP而不影响设备的功能行为.这些指令不会生成同步数据中止异常,但在特殊情况下,内存系统操作可能会生成异步中止.
...
但是,由于这些存储器系统提示之一而执行的存储器操作可能触发异步事件,从而影响处理器的执行.可能触发的异步事件的示例是异步中止和中断.
归档时间:
12 年,12 月 前
查看次数:
830 次
最近记录:
10 年,9 月 前