物理地址扩展(PAE)分页机制
2012-11-22 19:34
429 查看
常规分页机制32位地址线理论上可以寻址4GB的RAM地址空间,但是,大型的服务器需要大雨4GB的RAM来同时运行数以千计的进程,因此,Intel通过在处理器上把管脚数从32增加到36,以提高处理器的寻址能力,使其达到2^36=64GB,同时引入了一种新的分页机制PAE(Physical Address Extension,物理地址扩展)把32位线性地址转换为36位物理地址才能使用所增加的物理内存,通过设置CR4的第5位来开启对PAE的支持.引入PAE就是为了访问大于4GB的RAM,线性地址仍然是32位,而物理地址是36位.
64GB的RAM被分为2^24个页框,页表项的物理地址字段从20位扩展到24位,每个页表项必须包含12个标志位(固定)和24个物理地址位(36-12),共36位,因此,每个页表项须从32位(4Byte)扩展到64(8Byte)位(36位>32位,考虑到对齐,因此应将页表项扩大一倍到64位).这样就导致,一个4KB的页表可以包含512个表项而不是1024个表项.线性地址仍是32位,用其中的9位足以表示(2^9=512),由于页目录项与页表项具有同样的结构,高一级的页目录表中也仅能包含512个页表项,同样占用了32位线性地址中的9位,此时,线性地址剩余位数为:32位(总位数)-12位(页内偏移量)-9位(指示页表中的索引)-9位(指示页目录表中的索引)=2位,同时,Linux引入了一个页目录指针表(PDPT)的页表新级别,由4个64位表项构成,剩余的2位即用来指向PDPT中4个项中的一个.
下面4张图详细说明了4种情况下的页表结构(引自Wikipedia)
[b]
[/b]
图1. 未启用PAE下的4K分页的页表结构
[b][b]
[/b][/b]
图2. 未启用PAE下的4M分页的页表结构
[b][b][b]
[/b][/b][/b]
图3. 启用PAE下4K分页的页表结构
[b]
[/b]
图4. 启用PAE下2M分页的页表结构
本文转自:[b][b]/article/1359112.html[/b][/b]
64GB的RAM被分为2^24个页框,页表项的物理地址字段从20位扩展到24位,每个页表项必须包含12个标志位(固定)和24个物理地址位(36-12),共36位,因此,每个页表项须从32位(4Byte)扩展到64(8Byte)位(36位>32位,考虑到对齐,因此应将页表项扩大一倍到64位).这样就导致,一个4KB的页表可以包含512个表项而不是1024个表项.线性地址仍是32位,用其中的9位足以表示(2^9=512),由于页目录项与页表项具有同样的结构,高一级的页目录表中也仅能包含512个页表项,同样占用了32位线性地址中的9位,此时,线性地址剩余位数为:32位(总位数)-12位(页内偏移量)-9位(指示页表中的索引)-9位(指示页目录表中的索引)=2位,同时,Linux引入了一个页目录指针表(PDPT)的页表新级别,由4个64位表项构成,剩余的2位即用来指向PDPT中4个项中的一个.
下面4张图详细说明了4种情况下的页表结构(引自Wikipedia)
[b]
[/b]
图1. 未启用PAE下的4K分页的页表结构
[b][b]
[/b][/b]
图2. 未启用PAE下的4M分页的页表结构
[b][b][b]
[/b][/b][/b]
图3. 启用PAE下4K分页的页表结构
[b]
[/b]
图4. 启用PAE下2M分页的页表结构
本文转自:[b][b]/article/1359112.html[/b][/b]
相关文章推荐
- 使用WinDBG观察分页机制 ---- 实验前提(关闭PAE(物理地址扩展))
- 32位ubuntu物理地址扩展(PAE)分页机制及如何开启PAE支持4G以上内存(有时grub里面会让你选择)
- 物理地址扩展(PAE)分页机制 .
- 内存管理:物理地址扩展(PAE)分页机制
- 物理地址扩展(PAE)分页机制
- 利用bochs将逻辑地址转化为物理地址理解操作系统的分段分页机制
- 【Operating System】内存管理/分页机制,虚拟内存到实际物理地址的转换
- Linux_分页管理机制(线性地址转换到物理地址)
- [Linux内存管理-分页机制]—把一个虚拟地址转换为物理地址
- Linux_分页管理机制(线性地址转换到物理地址)
- 80386的分段机制、分页机制和物理地址的形成
- 物理地址扩展 (PAE)
- 分页机制下虚拟地址到物理地址
- 物理地址扩展(Physical Address Extensions, PAE)概述
- 2003和2008开启PAE,内存物理地址扩展
- 80386的分段机制、分页机制和物理地址的形成
- PSE页面大小扩展和PAE物理地址扩展
- 80386的分段机制、分页机制和物理地址的形成
- 《自己动手写操作系统》:解决VirtualPC无法在PAE(物理地址扩展)模式下运行
- 启用PAE机制下虚拟地址到物理地址的转换