Arm PLD指令的使用

Arm PLD指令的使用,arm,cpu-cache,mmu,cortex-a8,Arm,Cpu Cache,Mmu,Cortex A8,我对ARM cortex A8中PLD指令的使用有一些疑问。当我在循环内使用指令时,有可能进行越界内存访问。我怀疑这是否会导致分割错误。我在报纸上读到 由于各级缓存都将PLD指令作为任何其他加载指令处理,因此PLD指令遵循标准的数据依赖规则和逐出过程。在PLD执行的任何阶段,如果发生地址转换故障、缓存命中或中止,则忽略PLD指令 因此,如果进行了越界内存访问,我怀疑是否会忽略相应的PLD指令。PLD指令不会产生分段错误。若PLD要求内存系统访问不存在的内存区域,则忽略该区域 手臂 预加载指令是提

我对ARM cortex A8中PLD指令的使用有一些疑问。当我在循环内使用指令时,有可能进行越界内存访问。我怀疑这是否会导致分割错误。我在报纸上读到

由于各级缓存都将PLD指令作为任何其他加载指令处理,因此PLD指令遵循标准的数据依赖规则和逐出过程。在PLD执行的任何阶段,如果发生地址转换故障、缓存命中或中止,则忽略PLD指令


因此,如果进行了越界内存访问,我怀疑是否会忽略相应的PLD指令。

PLD指令不会产生分段错误。若PLD要求内存系统访问不存在的内存区域,则忽略该区域

手臂

预加载指令是提示,因此实现可以将它们视为NOP,而不会影响功能 设备的行为指令不会生成同步数据中止异常,但会生成内存系统异常 在特殊情况下,操作可能会生成异步中止

然而,作为这些存储器系统之一的结果而执行的存储器操作 提示可能触发异步事件,从而影响处理器的执行。例子 可能触发的异步事件是异步中止和中断


+1:问得好,我自己也一直在想这个问题,但从来没有检查过。谢谢几年前我自己遇到的问题@Rugger。下面的答案是正确的。