ARM9的MMU

一 页表

  1. 页表是放置在RAM(一般为DRAM)中的一个数据段。

  2. ARM的地址空间为2^32字节,即4G字节。

  3. 一级页表总共有4096条记录,每条记录对应的地址块为1M,一级页表中的记录将虚拟的连续4G寻址空间等分。

  4. 一级页表中的每条记录的内容就是虚拟的4G寻址空间的物理地址,举例如下:

    a. 将一级页表基址设置为:0x31000000,则从基址开始,之后的4096 * 4字节对应一级页表。

    b. 一级页表的第0条记录对应着虚拟地址的0x0000,0000~0x000F,FFFF,第1条记录对应着虚拟地址的0x0010,0000~0x001F,FFFF,依次类推。

    c. 相应的,一级页表的第0条记录(高12位)的内容对应虚拟地址0x0000,0000~0x000F,FFFF的物理地址(基地址),第1条记录(高12位)对应虚拟地址  0x0010,0000~0x001F,FFFF的物理地址(基地址),每条记录中的低位中都包含着权限访问控制位。

二 TLB(Translation Lockaside buffer):快表

  快表可理解为页表的cache,页表是存在于RAM中的一段数据,访问延迟较高,将相邻的页表加载到快表中可极大的加速MMU合成地址。

三 Cache

  未完待续...

 

 

 

 

 

N 关于MMU的启动

  若将页表设置为虚拟地址 = 物理地址,则开启MMU后代码的运行、数据的存储于读取、堆栈等不受影响,代码将继续地正确运行。

转载于:https://www.cnblogs.com/azenk/p/hardware_arm_mmu.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值