zoukankan      html  css  js  c++  java
  • 物理地址扩展PAE

    物理地址扩展 (PAE) X86 允许软件使用地址窗口扩展 (AWE) API 集并在具有 Intel Pentium Pro 或更高版本处理器的计算机上运行,而 4 GB 以上物理内存允许将更多物理内存映射为应用程序的虚拟地址空间。

        不使用 AWE API 集的应用程序也可以从 PAE X86 获益,因为操作系统使用更大的物理内存来减小页面,从而提高了性能。同样,这还使驻留多个应用程序的合并服务器受益。

        在计算机科学中,物理地址扩展或实体位置延伸(PAE)是指x86x86-64位处理器的一个特色,即如果操作系统提供适当支持,则可以在32位的系统中使用超过4GiB字节的实体内存。PAE为Intel Pentium Pro及以上级别的CPU(包括除了总线频率为400MHz的这个版本的奔腾M之外的所有新型号奔腾系列处理器)所支持,其他兼容的处理器,如速龙(Athlon)和AMD的较新型号的CPU也支持PAE。

        x86的处理器增加了额外的地址线以选择那些增加了的内存,所以实体内存的大小从32位增加到了36位。最大的实体内存由4GiB增加到了64GiB。

        32位的虚拟地址线性地址)则没有变,所以一般的应用软件可以继续使用地址为32位的指令;如果用平面内存模式的话,这些软件的地址空间也被限制为4GiB。操作系统用页表将这4GiB的地址空间映射到大小为64GiB的实体内存,而这个映射对各个进程一般是不一样的。这样一来,即使不能为单单一个程序所用,那些增加了的物理内存仍然可以发挥作用。

        对于需要超过4GiB内存的应用软件来说,除了一般的PAE支持,还需要操作系统提供另外的特殊的技术。在Windows上,这种技术叫做Address Windowing Extensions(AWE)。而在类Unix的系统上则有多种技术在使用,例如使用mmap()按需要把一部分文件映射到地址空间;但是,这还没有成为一个标准。

        Windows下启用物理地址扩展 (PAE) X86

        1.打开 Windows 资源管理器。

        2.在“工具”菜单上,单击“文件夹选项”。

        3.在“查看”选项卡上,单击“显示所有文件和文件夹”,清除“隐藏受保护的操作系统文件”复选框,然后单击“确定”。如果显示警告对话框,单击“是”以继续。

        4.在根文件夹(如 C:)下查找 Boot.ini 文件并删除它的只读属性。

        5.打开 Boot.ini 文件,然后将 /PAE 参数添加到 ARC 路径中,如以下 Windows Server 2003 Datacenter Edition 示例所示:

    multi(0)disk(0)rdisk(0)partition(2)\%systemroot%="Windows Server 2003, Datacenter Edition" /PAE

        6.在“文件”菜单上,单击“保存”。

        7.还原 Boot.ini 文件的只读属性。

        8.为使更改生效,请重新启动计算机。

        Windows下禁用PAE模式方法

        右击桌面“我的电脑”属性,选择“高级”,再点击“启动与恢复”下面的“设置”,再点击框中的“编辑”键,此时会打开BOOT.INI文件,然后将文件的此行“

                     multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=

                     "Microsoft Windows XP Professional" /noexecute=optin /fastdetect”

    中的/noexecute=optin改成/execute 改完后保存该文件,然后重启电脑便OK。

        Linux下的情况——页表结构:

        在传统的32位的保护模式中,x86处理器使用一种两级的转换方案。在这种方案中,控制暂存器CR3指向一个长4KiB的页目录(Page Directory);页目录又分为1024个每个4KiB的页表(Page Table);最后页表又分为1024个每个长4KiB的

        启用PAE(通过设置控制暂存器CR4的第5位来启用)会改变上面的方案。默认情况下,每的大小是4KiB的。页表和页目录中的表项都从32位扩为64位(8字节)以使用附加的地址位。但是,页表和页目录的总大小不变。所以,页表和页目录现在都只有512个表项。因为这变成了原来方案的一半,所以另外的一个级加了进来:CR3现在指向的是页目录指针表,即一个包含4个页目录指针的表。

        页目录里的表项的第7位叫做PS(Page Size)。如果这个位设为1,则页目录的表项不再指向页表,而是指向一个2MiB的页。页目录里还有另外一个叫NX位元的标志位。它是第63位,表示No eXecute。因为页表项最高的12位,要么是这种标识位,要么是和操作系统相关的数据,所以最多可有52位在将来用于在252字节,即4pebibyte的物理内存中寻址。

        现在,x86架构只使用该52位中的36位。对于在长模式(long mode)中的x86-64处理器,PAE是必须的;其中使用了52位中的40位。

        CPU对PAE模式的支持可以通过CPUID标志PAE来识别。

  • 相关阅读:
    不可或缺 Windows Native (15)
    不可或缺 Windows Native (14)
    不可或缺 Windows Native (13)
    不可或缺 Windows Native (12)
    不可或缺 Windows Native (11)
    不可或缺 Windows Native (10)
    不可或缺 Windows Native (9)
    不可或缺 Windows Native (8)
    不可或缺 Windows Native (7)
    不可或缺 Windows Native (6)
  • 原文地址:https://www.cnblogs.com/snailrun/p/2644876.html
Copyright © 2011-2022 走看看