PAE

一、概述 

   PAE即物理地址扩展 (Physical Address Extension)

基于 x86 的服务器的一种功能,它使运行 Windows Server 2003, Enterprise Edition 和 Windows Server 2003, Datacenter Edition 的计算机可以支持 4 GB 以上物理内存。物理地址扩展 (PAE) 允许将最多 64 GB 的物理内存用作常规的 4 KB 页面,并扩展内核能使用的位数以将物理内存地址从 32 扩展到 36。

 


二、PAE扩展的启用

    下面方式的任何一种都可以启用这种扩展:

1、 使用物理地址扩展(PAE)标记,它是控制寄存器 CR4 的第5 位。

2、 使用 36 位页尺寸扩展(PSE-36)特征(Pentium Ⅲ处理器引入的)。

 

三、使用 PAE 分页机制的36 位物理寻址

        PAE 分页机制和36 位物理寻址能力是通过CPUID 指令的特性标志PAE(当CPUID 指令的源操作数是2 时,EDX 寄存器的第6 位就是这个特性标志)来实现的。CR4 中的物理地址扩展(PAE)标志可以开启PAE机制,将物理地址从32 位扩展至36 位。处理器提供额外的4 个地址线引脚来容纳这额外的地址位。使用这个选项必须设置如下标志:

    ● CR0 寄存器的PG 标志(第31 位)——开启分页。

    ● CR4 寄存器的PAE 标志(第5 位)——开启PAE 分页机制。

    当开启PAE 分页机制时,处理器支持两种尺寸的页:4KB 和2MB。当使用32 位寻址时,这两种尺寸的页都能够使用同一个页表集来寻址(也就是说,一个页目录表项可以指向一个2MB 页,也可以指向一个页表,页表的表项指向4KB 页)。要支持36 位的物理地址,分页的数据结构需要做如下的变化:页表项将变为64 位以适应36 位物理地址。每个4KB 的页目录表和页表也就可以有最多512 个表项。

    一个叫做页目录指针表的新表将被加入到线性地址变换的层次结构中。这个表有4个64 位的表项,放置在层次结构的页目录表之上。随着物理地址扩展机制的开启,处理器支持4 个页目录表。

    寄存器CR3(PDPR)中的20 位页目录基地址域被27 位页目录指针表基地址所替代(如图1)。(此时,寄存器CR3 叫做PDPTR。)这个域给出了页目录指针表基地址的高27 位,迫使页目录指针表的地址是32 字节对齐的。

           

                                  图1     开启物理地址扩展时的CR3 寄存器格式

3.1.开启 PAE 的线性地址变换(4KB 页)

     当启用PAE 分页机制时,线性地址是映射到4KB 页,此时页目录指针表、页目录表和页表的层次结构如图2 所示。这种分页方法可以寻址高达220 个页,线性地址空间达232 字节(4GB)。为了选择各种表项,线性地址被分为4 部分:

    ● 页目录指针表项——第 30 位和第31 位,给出页目录指针表项在页目录指针表中的偏移。被选中的表项给出一张页目录表的物理基地址。

    ●页目录表项——第 21 位到第29 位,给出在被选中的页目录表中的偏移。被选择的目录项给出一张页表的物理基地址。

    ● 页表项——第 12 位到第20 位,给出在被选中的页表中的偏移。被选中的页表项给出一个页在内存中的物理基地址。

    ● 页偏移——第 0 位到第11 位,给出在被选中的页中的偏移。

             

                                            图2   开启PAE时的线性地址转换

页目录指针表项、页目录表项和页表项的格式如图3 所示。

          

图3   PAE 开启时的页目录指针表项、页目录表项、页表项的格式(4KB 页)

 

3.2.开启 PAE 的线性地址变换(2MB 页)

    图4 显示了当启用PAE 分页机制时,如何使用页目录指针表和页目录表将线性地址映射到2MB 页。这种分页方法可以将2048 个页(4 个页目录指针表项乘上512 个页目录表项)映射到4GB 的线性地址空间上。当启用PAE 时,通过设置页目录表项中的页尺寸(PS)标志来选择2MB 页。(当启用PAE 时,CR4 寄存器中的PSE 标志将对页的尺寸不起作用。)一旦PS 标志被置位,线性地址被分为3 部分(无页表):

    ● 页目录指针表项——第 30 位和第31 位给出表项在页目录指针表中的偏移。该页目录指针表项给出一张页目录表的物理基地址。

    ●页目录表项——第 21 位到第29 位提供目录项在页目录表中的偏移。该页目录表项给出了一个2MB 页的物理基地址。

    ●页偏移——第 0 位到第20 位提供物理地址在页中的偏移。

         

                                           图4    PAE开启时的线性地址转换(2MB)

 

使用2MB 页和36 位扩展物理地址时,页目录指针表项和页目录表项的格式如图5 所示。

            

                      图5     PAE 开启时页目录指针表项、页目录项的格式(2MB 页)

 

注意:

页目录表项和页表项

●增加了页目录指针表项。

● 表项的大小从 32 位增加到了64 位。

● 页目录表和页表的项数最多为 512 个。

● 表项中的物理基地址域扩展到了 24 位。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zero2011/archive/2010/05/18/5602558.aspx

你可能感兴趣的:(数据结构,windows,server,服务器,扩展,extension)