fbpx
维基百科

物理地址扩展

物理地址扩展Physical Address Extension,缩写为PAE),又釋實體位置延伸,是x86处理器的一个功能,讓中央处理器32位元操作系统下存取超过4GiB實體記憶體

PAE为IntelPentium Pro及以上级别的CPU(包括除了总线频率为400MHz的这个版本的奔腾M之外的所有新型号奔腾系列处理器)所支持,其他兼容的处理器,如速龙(Athlon)和AMD的较新型号的CPU也支持PAE。

x86的处理器增加了额外的地址线以选择那些增加了的記憶體,所以實體記憶體的大小从32位增加到了36位。最大的實體記憶體由4GB增加到了64GB。

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

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

页表结构 编辑

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

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

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

现在,x86架构只使用该52位中的36位。对于在长模式long mode)中的x86-64处理器,PAE是必须的;其中AMD64使用了52位中的40位或48位[1],而Intel64將最多使用46位[2]

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

操作系统的支持 编辑

FreeBSD 编辑

FreeBSD的4.x系列从4.9开始支持PAE,而5.x系列则从5.1开始。6.x及以后的系列都支持PAE。对内核的PAE的配置是必须的。如果一个可加载内核模块是启用了PAE的,则它只可以被加载到一个启用了PAE的内核;FreeBSD中二进制版本的模块没有启用PAE,所以它们不能加载到启用了PAE的内核。并不是所有驱动程序都支持4GiB的物理内存的;这种驱动程序不能在启用了PAE的内核下正常工作[3]

Linux 编辑

Linux内核从2.6版本开始全面支持PAE[4],这使得在32位的机器上可以访问高达64GB的物理内存。启用了PAE的Linux内核还需要同样支持PAE的CPU。从2008年起,很多一般发布的Linux版本都默认使用启用了PAE的内核。

Mac OS X 编辑

运行在Intel CPU上的Mac OS X都支持PAE和NX位;在受苹果支持的CPU上它也支持该两种特性。即使Mac OS X 10.5 Leopard内核仍然是32位的,但是Mac ProXserve系统现在也是支持32GiB的RAM的。[5]

Solaris 编辑

Solaris从版本7开始支持PAE。但是,版本7的那些没有专门支持PAE的第三方驱动程序在支持PAE的系统上可能会发生错误,甚至完全崩溃。[6]

Windows 编辑

PAE受下列版本的32位版的Windows所支持:[7][8]

系统版本 最大物理内存支持
Windows 2000 Advanced Server 8 GiB
Windows 2000 Datacenter Server 32 GiB
Windows XP [9] 4 GiB
Windows Server 2003 Enterprise Edition 32 GiB
Windows Server 2003 SP1+ or R2 Enterprise Edition 64 GiB
Windows Server 2003 Datacenter Edition [10] 64 GiB
Windows Server 2003 Standard Edition 4 GiB
Windows Vista 4 GiB
Windows Server 2008 Enterprise or Datacenter Edition 64 GiB
Windows Server 2008 other editions 4 GiB
Windows 7 Starter 2 GiB
Windows 7 other editions 4 GiB

Windows XP SP2和其他新的版本,默认在有no-execute (NX)execute-disable (XD)特性的处理器上以PAE模式运行以允许NX。NX(或XD)在页表项的第63位。如果没有PAE,页表项就只有32位;所以要利用NX这个特性的话,就必须运行在PAE模式下。但是,基于保证驱动兼容性等原因,微软通过许可证,在内核中把桌面版Windows(包括Windows XP、Windows Vista和Windows 7)和部分低端Windows Server的物理地址空间限制为4GiB。

参见 编辑

  • PSE-36: an alternative to Physical Address Extension
  • Page Size Extension
  • Architecture of Windows NT

参考资料 编辑

  1. ^ Intel 64 and IA-32 Software Developer's Manual—Volume 3A (PDF). Intel. [2007-11-16]. (原始内容 (PDF)于2009-02-20).  Page 3.42.
  2. ^ Intel 64 architecture increases the linear address space for software to 64 bits and supports physical address space up to 46 bits." on page Vol. 1 2-21 of Intel 64 and IA-32 Architectures Software Developer's Manual September 2014 (页面存档备份,存于互联网档案馆
  3. ^ FreeBSD PAE(4) man page. 2003-04-08 [2007-11-26]. (原始内容于2021-02-25). 
  4. ^ . (原始内容存档于2003-07-16). 
  5. ^ Road to Mac OS X 10.6 Snow Leopard: 64-Bits. 2008-09-26 [2008-09-26]. (原始内容于2020-12-10). 
  6. ^ Solaris 7 5/99 Release Notes (Intel Platform Edition), Appendix B: Hardware Compatibility List and Device Configuration Guide (Intel Platform Edition) 5/99. 1999 [2007-11-26]. [永久失效連結]
  7. ^ . Microsoft. December 5, 2007 [2007-12-10]. (原始内容存档于2007-12-17). 
  8. ^ Intel Physical Addressing Extensions (PAE) in Windows 2000. Microsoft. October 26, 2007 [2007-12-29]. (原始内容于2015-03-06). 
  9. ^ Physical Address Extension. Microsoft. [2008-12-15]. (原始内容于2008-04-30). 
  10. ^ Memory Support and Windows Operating Systems. 2007 [2008-03-22]. (原始内容于2011-02-19). 

外部链接 编辑

  • Windows PAE entry on Microsoft knowledge base (页面存档备份,存于互联网档案馆

物理地址扩展, 此條目翻譯自英語維基百科, 需要相關領域的編者協助校對翻譯, 如果您精通本領域, 又能清楚地將英語翻譯為中文, 歡迎您協助校訂翻譯, 原文参见en, physical, address, extension, physical, address, extension, 缩写为pae, 又釋實體位置延伸, 是x86处理器的一个功能, 讓中央处理器在32位元操作系统下存取超过4gib的實體記憶體, pae为intelpentium, pro及以上级别的cpu, 包括除了总线频率为400mhz的这个版本的. 此條目翻譯自英語維基百科 需要相關領域的編者協助校對翻譯 如果您精通本領域 又能清楚地將英語翻譯為中文 歡迎您協助校訂翻譯 原文参见en Physical Address Extension 物理地址扩展 Physical Address Extension 缩写为PAE 又釋實體位置延伸 是x86处理器的一个功能 讓中央处理器在32位元操作系统下存取超过4GiB的實體記憶體 PAE为IntelPentium Pro及以上级别的CPU 包括除了总线频率为400MHz的这个版本的奔腾M之外的所有新型号奔腾系列处理器 所支持 其他兼容的处理器 如速龙 Athlon 和AMD的较新型号的CPU也支持PAE x86的处理器增加了额外的地址线以选择那些增加了的記憶體 所以實體記憶體的大小从32位增加到了36位 最大的實體記憶體由4GB增加到了64GB 32位的虚拟地址 线性地址 则没有变 所以一般的应用软件可以继续使用地址为32位的指令 如果用平面内存模式的话 这些软件的地址空间也被限制为4GiB 操作系统用页表将这4GiB的地址空间映射到大小为64GiB的實體記憶體 而这个映射对各个进程一般是不一样的 这样一来 即使不能为单单一个程序所用 那些增加了的物理内存仍然可以发挥作用 对于需要超过4GiB内存的应用软件来说 除了一般的PAE支持 还需要操作系统提供另外的特殊的技术 在Windows上 这种技术叫做Address Windowing Extensions AWE 而在类Unix的系统上则有多种技术在使用 例如使用mmap 按需要把一部分文件映射到地址空间 但是 这还没有成为一个标准 目录 1 页表结构 2 操作系统的支持 2 1 FreeBSD 2 2 Linux 2 3 Mac OS X 2 4 Solaris 2 5 Windows 3 参见 4 参考资料 5 外部链接页表结构 编辑在传统的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是必须的 其中AMD64使用了52位中的40位或48位 1 而Intel64將最多使用46位 2 CPU对PAE模式的支持可以通过CPUID标志PAE来识别 页表结构 nbsp 未启用PAE 4 KB的页 nbsp 未启用PAE 4 MB的页 nbsp 启用PAE 4 KB的页 nbsp 启用PAE 2 MB的页操作系统的支持 编辑FreeBSD 编辑 FreeBSD的4 x系列从4 9开始支持PAE 而5 x系列则从5 1开始 6 x及以后的系列都支持PAE 对内核的PAE的配置是必须的 如果一个可加载内核模块是启用了PAE的 则它只可以被加载到一个启用了PAE的内核 FreeBSD中二进制版本的模块没有启用PAE 所以它们不能加载到启用了PAE的内核 并不是所有驱动程序都支持4GiB的物理内存的 这种驱动程序不能在启用了PAE的内核下正常工作 3 Linux 编辑 Linux内核从2 6版本开始全面支持PAE 4 这使得在32位的机器上可以访问高达64GB的物理内存 启用了PAE的Linux内核还需要同样支持PAE的CPU 从2008年起 很多一般发布的Linux版本都默认使用启用了PAE的内核 Mac OS X 编辑 运行在Intel CPU上的Mac OS X都支持PAE和NX位 在受苹果支持的CPU上它也支持该两种特性 即使Mac OS X 10 5 Leopard内核仍然是32位的 但是Mac Pro和Xserve系统现在也是支持32GiB的RAM的 5 Solaris 编辑 Solaris从版本7开始支持PAE 但是 版本7的那些没有专门支持PAE的第三方驱动程序在支持PAE的系统上可能会发生错误 甚至完全崩溃 6 Windows 编辑 PAE受下列版本的32位版的Windows所支持 7 8 系统版本 最大物理内存支持Windows 2000 Advanced Server 8 GiBWindows 2000 Datacenter Server 32 GiBWindows XP 9 4 GiBWindows Server 2003 Enterprise Edition 32 GiBWindows Server 2003 SP1 or R2 Enterprise Edition 64 GiBWindows Server 2003 Datacenter Edition 10 64 GiBWindows Server 2003 Standard Edition 4 GiBWindows Vista 4 GiBWindows Server 2008 Enterprise or Datacenter Edition 64 GiBWindows Server 2008 other editions 4 GiBWindows 7 Starter 2 GiBWindows 7 other editions 4 GiBWindows XP SP2和其他新的版本 默认在有no execute NX 和execute disable XD 特性的处理器上以PAE模式运行以允许NX NX 或XD 在页表项的第63位 如果没有PAE 页表项就只有32位 所以要利用NX这个特性的话 就必须运行在PAE模式下 但是 基于保证驱动兼容性等原因 微软通过许可证 在内核中把桌面版Windows 包括Windows XP Windows Vista和Windows 7 和部分低端Windows Server的物理地址空间限制为4GiB 参见 编辑PSE 36 an alternative to Physical Address Extension Page Size Extension Architecture of Windows NT参考资料 编辑 Intel 64 and IA 32 Software Developer s Manual Volume 3A PDF Intel 2007 11 16 原始内容存档 PDF 于2009 02 20 Page 3 42 Intel 64 architecture increases the linear address space for software to 64 bits and supports physical address space up to 46 bits on page Vol 1 2 21 of Intel 64 and IA 32 Architectures Software Developer s Manual September 2014 页面存档备份 存于互联网档案馆 FreeBSD PAE 4 man page 2003 04 08 2007 11 26 原始内容存档于2021 02 25 Wonderful World of Linux 2 6 原始内容存档于2003 07 16 Road to Mac OS X 10 6 Snow Leopard 64 Bits 2008 09 26 2008 09 26 原始内容存档于2020 12 10 Solaris 7 5 99 Release Notes Intel Platform Edition Appendix B Hardware Compatibility List and Device Configuration Guide Intel Platform Edition 5 99 1999 2007 11 26 永久失效連結 Memory Limits for Windows releases Microsoft December 5 2007 2007 12 10 原始内容存档于2007 12 17 Intel Physical Addressing Extensions PAE in Windows 2000 Microsoft October 26 2007 2007 12 29 原始内容存档于2015 03 06 Physical Address Extension Microsoft 2008 12 15 原始内容存档于2008 04 30 Memory Support and Windows Operating Systems 2007 2008 03 22 原始内容存档于2011 02 19 外部链接 编辑Windows PAE entry on MSDN Library Windows PAE entry on Microsoft knowledge base 页面存档备份 存于互联网档案馆 Paging Extensions for the Pentium Pro Processor 取自 https zh wikipedia org w index php title 物理地址扩展 amp oldid 73982556, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。