【MMU】——ARM 一级页表

本文详细介绍了ARM处理器的一级页表机制,包括页表项的四种类型:异常条目、L2转换表条目、1MB段转换条目和16MB超级分节。一级页表由4096个4字节项组成,总计16KB,每个项控制1MB内存,总计覆盖4GB空间。一级页表基址存储在CP15 C2寄存器中,通过虚拟地址计算一级页表描述符地址,进而获取物理地址。

文章目录

一级页表项即 entry 的格式如下
在这里插入图片描述

从上图可以看出 L1 页表项有四种可能类型

  • 产生中止异常的故障条目。这可能是预取或数据中止、取决于访问类型。这实际上表示虚拟地址未映射 bit[1:0] = 00
  • 指向 L2 转换表的条目。这样就能将 1MB 的内存分页 bit[1:0] = 01。
  • 1MB 段转换条目,将 1MB 区域映射到物理地址 bit[1:0] = 10 and bit[18] = 0。
  • 16MB 超级分节。这是一种特殊的 1MB 小节条目,需要在翻译表中添加 16 个条目。但可以减少为该区域分配的翻译查找缓冲区条目数。旁路缓冲区(Lookaside Buffer)中分配的条目数量bit[1:0] = 10 and bit[18] = 1。

在这里插入图片描述

bit[31:20] 共 12 位,index = 2^12 = 4096 个所以一级页表共有 4096 个,即 0-4095,每个 index 放 4 bytes 数据,每个一级页表项控制 1MB section 空间,共 4GB 空间。

一级页表占用空间 4096 * 4bytes = 16KB

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyustli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值