文章目录
一级页表项即 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