启用MMU和缓存时,ARM Cortex-A5(ARMv7)2级转换映射

时间:2016-03-29 15:46:18

标签: caching arm mmu

我正在使用运行在Cortex-A5内核上的专有操作系统,其中启用了MMU,缓存(I& D)和分支预测器。在 MMU设置并激活并启用高速缓存后,将在中进行二级转换表中IO寄存器空间的映射。

目前的顺序是:

  • 计算页表条目(PTE)值
  • 计算2级表格中PTE的偏移量
  • 将PTE写入2级表
  • - 数据同步障碍
  • 使数据缓存失效 映射页面
  • 刷新分支预测器缓存(据说是 不必要的)
  • - 指令同步障碍

    此序列似乎不适用于启用I-cache。不幸的是,硬件的调试功能有些限制,但似乎执行的指令不是应该为给定程序计数器执行的指令。禁用I-cache 添加I-序列似乎可以解决问题后缓存失效指令。但我的原因尚不清楚。映射数据区时,为什么I-cache会受到影响?以上序列是否正确?什么是正确的? (而且硬件错误的概率仍然很小)。

0 个答案:

没有答案