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