概述 x86的處理器增加了額外的
地址線 以選擇那些增加了的記憶體,所以實體記憶體的大小從32位增加到了36位。最大的實體記憶體由4GiB增加到了64GiB。
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位叫做PS(
Page Size )。如果這個位設為1,則頁目錄的表項不再指向
頁表 ,而是指向一個2MiB的頁。頁目錄里還有另外一個叫NX位元的標誌位。它是第63位,表示
No eXecute 。因為頁表項中最低的12位,要么是這種標識位,要么是和作業系統相關的數據,所以最多可有52位在將來用於在2^52位元組,即4pebibyte的
物理記憶體 中定址。
現在,
x86 架構只使用該52位中的36位。對於在長模式(
long mode )中的
x86-64 處理器,
PAE 是必須的;其中使用了52位中的40位或48位[1]。
未啟用PAE, 4 KB的頁 未啟用PAE, 4 MB的頁 啟用PAE,4 KB的頁 啟用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的核心下正常工作。
Linux Linux核心從2.6版本開始全面支持PAE,這使得在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的。
Solaris Solaris 從版本7開始支持PAE。但是,版本7的那些沒有專門支持PAE的第三方驅動程式在支持PAE的系統上可能會發生錯誤,甚至完全崩潰。
Windows PAE受下列版本的32位版的Windows所支持:
系統版本 最大物理記憶體支持 8 GiB
Windows 2000 Datacenter Server
32 GiB
4 GiB
32 GiB
64 GiB
64 GiB
4 GiB
4 GiB
64 GiB
4 GiB
2 GiB
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。