從80386開始,Intel 處理器處理 4KB的頁。
32位線性地址分為 10 10 12 三部分。 directory table offsetcr3控制寄存器中存放正使用的頁目錄的物理地址。
一個頁目錄項與頁表項結(jié)構(gòu)相同。 其中有20位Field 包含頁框的物理地址。
當(dāng)從cr3 中獲取到頁目錄地址時,取線性地址的高10位取頁目錄(4KB,每一個32位占4字節(jié),共1024個頁表)中指向的頁表項地址(20位的Field)
使用取出來的物理地址得到頁表地址,線性地址的中間10位,取頁表內(nèi)偏移量,取含有數(shù)據(jù)的頁的物理地址。
最終使用線性地址的12位取頁內(nèi)數(shù)據(jù)偏移量。
頁目錄項指向的頁表中有4096的物理地址,也就是對應(yīng)1024個頁表項,剛好與線性地址的10位相符。
而頁表項指向的項含有4096的物理地址,偏移量需要線性地址的12來取offset
cr4寄存器,PSE標記,可使得擴展分頁與常規(guī)分頁共存。
cr0 的PG = 0時,線性地址被解析為物理地址。