Intel通過在處理器上把管腳數從32增加到36,以提高處理器的尋址能力,使其達到2^36=64GB,為此,需引入一種新的分頁機制。
64GB的RAM被分為2^24個頁框,頁表項的物理地址字段從20位擴展到24位,每個頁表項必須包含12個標志位(固定)和24個物理
地址位(36-12),共36位,因此,每個頁表項須從32位擴展到64位(36位>32位,考慮到對齊,因此應將頁表項擴大一倍到64位)。
**在4KB的常規分頁情況下,由于每個頁表項大小為64為,因而,原有210大小的頁表中,僅能包含512個表項,這占用了32**
**位線性地址中的9位,同理,由于頁目錄項與頁表項具有同樣的結構,高一級的頁目錄表中也僅能包含512個頁表項,同樣占用**
**了32位線性地址中的9位,此時,線性地址剩余位數為:32位(總位數)-12位(頁內偏移量)-9位(指示頁表中的索引)-9位**
**(指示頁目錄表中的索引)=2位,同時,Linux引入了一個頁目錄指針表(PDPT)的頁表新級別,由4個64位表項構成,剩余**
**的2位即用來指向PDPT中4個項中的一個。**
**下面4張圖詳細說明了4種情況下的頁表結構(引自Wikipedia)**
****
**未啟用PAE下的4K分頁的頁表結構**
****
**未啟用PAE下的4M分頁**的頁表結構**
****
**啟用PAE下4K分頁**的頁表結構**
****
**啟用PAE下2M分頁**的頁表結構