物理地址扩展

✍ dations ◷ 2025-05-10 23:26:46 #X86架构,虚拟内存

物理地址扩展(Physical Address Extension,缩写为PAE),又释实体位置延伸,是x86处理器的一个功能,让中央处理器在32位操作系统下访问超过4GB的物理内存。

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

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

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

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

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

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

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

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

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

未启用PAE, 4 KB的页

未启用PAE, 4 MB的页

启用PAE,4 KB的页

启用PAE,2 MB的页

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

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

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

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

PAE受下列版本的32位版的Windows所支持:

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的物理地址空间限制为4GB。

相关

  • 磺胺二甲嘧啶磺胺二甲嘧啶是一种磺胺类药物,其INN名称是“Sulfamethazine”。该药物可用于治疗支气管炎、前列腺炎,以及泌尿道感染等病症。该药物在血液中的半衰期暂时未知,在大鼠体内的LD5
  • 烟肉熏肉或烟肉(英语:Bacon),又音译为背根或培根,是将猪胸肉,或其他部位的肉熏制而成。烟肉一般被认为是早餐的头盘,将之切成薄片,放在锅子里烤或用油煎。烟肉常被视为肥胖的主要来源,但
  • 范德瓦耳斯方程范德华方程(van der Waals equation)(一译范德瓦耳斯方程),简称范氏方程,是荷兰物理学家范德华于1873年提出的一种实际气体状态方程。范氏方程是对理想气体状态方程的一种改进,特点
  • 搜狗拼音输入法搜狗拼音输入法是2006年6月由搜狐(NASDAQ:SOHU)公司推出的一款汉语拼音输入法。搜狗输入法从一开始偏向于词语输入特性,发展到后来配备云输入功能的以整句输入为优势的输入法,是
  • 火麻火麻(英语:),古中国称汉麻、枲麻(拼音:xǐ,注音:ㄒㄧˇ)、苴麻(拼音:jū,注音:ㄐㄩ),通称大麻,俗称麻,是大麻(学名:)的变种之一,源产于中国。该变种目前商业种植的品种都是THC含量<0.3%的一种经济
  • 1,3-环戊二酮1,3-环戊二酮是一种有机化合物,化学式为(CH2)3(CO)2,它是1,2-环戊二酮的同分异构体。它的烯醇形式比二酮形式更稳定(1-3 kcal/mol),其烯醇结构经X射线衍射表征。1,3-环戊二酮可由
  • 太原科技大学太原科技大学位于中国山西省太原市,是一所具有鲜明办学特色和光荣办学传统的多科性大学,是中华人民共和国重大技术装备领域重要的人才培养和科学研究基地。1952年,太原科技大学
  • 吉姆 (马名)吉姆是一匹前拉车马,它被用于生产含有白喉抗毒素(针对白喉毒素的抗体)的血浆 。 在他的职业生涯中,吉姆生产了超过30夸脱(7.5美国加仑)的白喉抗毒素。 然而,在1901年10月2日,吉姆出
  • 灯心草灯心草(学名:),又名圆蔺、灯芯草、水灯花、水灯心、蔺草、灯草、龙须草、野席草、马棕根、野马棕,是灯心草属多年生草本植物,分布于全球温暖地区,生长于海拔200-3,400米的地区。杆丛
  • 大秦悍将《大秦悍将》是一款由祖龙工作室开发,欢乐亿派在2003年8月27日发行的第一人称射击游戏。