x86分页机制--101012分页(2)

上一篇我们通过实验讲解了10-10-12分页的基本情况。这一篇将更细致讲解10-10-12分页的硬件基础以及理论知识。

除了CR3寄存器指向的是真实的物理地址外,我们所能看见的都是线性地址。下面我们认识一些新的名词:

 在这个图示中,CR3寄存器指向的是一个页,我们也称为页目录表(PDT)。这个页的大小在winodws操作系统中,分页的粒度一般是4KB,当然还有一种大页(4MB)我们暂时不讨论。这个页的大小是4096个字节,每一个成员都是4字节大小的地址,那么这个页能存1024个地址。这个页目录表里每一个成员我们又称为页目录表项(PDE)。而里面的每一个成员又指向一个页表(PTT),一个页表大小也是4KB,页表的每个成员也是占有4个字节的地址,我们称为页表项(PTE),PTE所指向的地址才是真正的物理地址。

那么为什么是10-10-12分页呢,我们从图示的后面看起,一个物理页是4KB大小,计算机寻址的最小单位是字节,所以需要用2^{^{12}}大小来存储地址以此来找全这个物理页。而页表和页目录表的每一个成员都占用4字节,也就是总共有1024个成员,所以我们想找全1024个成员需要2^{_{10}}的大小来存储。10-10-12分页就是这么由来的。


在intel手册文档中记载着32位分页机制:

逻辑处理器使用32位分页(32-bit paging)当且仅当CR0.PG = 1且CR4.PAE = 0。32位分页将32位线性地址翻译为40位物理地址。虽然40位可以表示1 TB,但线性地址仅限于32位,因此每次最多只能访问4 GB的线性地址空间。

32位分页使用分层的分页结构来为线性地址进行翻译。CR3用于定位第一个分页结构,即页目录。表4-3说明了CR3在32位分页中的使用方式。

32位分页可以将线性地址映射到4 KB页面或4 MB页面。图4-2说明了使用4 KB页面时的翻译过程。


 有了之前的基础我们看这个图应该清晰明了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AMD64/x86-64是一种处理器架构,它是x86架构的64位扩展。它由AMD公司于2003年推出,并在Intel的支持下成为主流的64位计算机架构。AMD64/x86-64架构具有以下特点[^1]: 1. 64位寻址空间:AMD64/x86-64架构支持64位寻址空间,可以处理更大的内存范围,最多可寻址2^64个字节的内存。 2. 兼容性:AMD64/x86-64架构是向后兼容的,可以运行32位和16位的x86软件。这意味着现有的x86软件可以无需修改直接在AMD64/x86-64架构上运行。 3. 扩展指令集:AMD64/x86-64架构引入了一些新的指令集扩展,如SSE(Streaming SIMD Extensions)和AVX(Advanced Vector Extensions),提供了更高的计算性能和并行处理能力。 4. 更多的通用寄存器:AMD64/x86-64架构增加了通用寄存器的数量,从8个增加到16个,这样可以提高程序的性能和效率。 5. 更大的整数和浮点数寄存器:AMD64/x86-64架构扩展了整数和浮点数寄存器的位数,使得处理更大的整数和浮点数数据更加高效。 6. 更好的内存管理:AMD64/x86-64架构引入了更高效的内存管理机制,如更大的虚拟地址空间和更灵活的分页机制,提高了系统的性能和可靠性。 总结起来,AMD64/x86-64架构是一种先进的64位处理器架构,具有更大的寻址空间、兼容性、扩展指令集、更多的寄存器和更好的内存管理等特点,为计算机系统提供了更高的性能和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值