Amikor védett módban dolgozunk a 32 bites, x86-os architektúrájú processzorok megengedik, hogy a lineáris címtartományt direkt módon nagy méretű fizikai memóriába (pl. 1-4 GB RAM-ig) képezzük (ez a szegmentálás, lásd előző fejezet), vagy indirekt módon a lapozást használva kisebb méretű fizikai memóriát és háttértárolót használjunk memória igényünk kielégítésére. Az utóbbi memória leképezési módszert, a lapozást, virtuális memóriakezelésnek is nevezzük.

Amikor a lapozást használjuk, a processzor a lineáris címtartományt fix méretű (ált. 4 KBájtosra) lapokra osztja, melyeket a fizikai memóriába vagy/és a háttértárolóra képezhetjük le (mappolhatjuk). Amikor egy védett program vagy taszk hozzá akar férni egy logikai címhez a memóriában, akkor a processzor a logikai címet lineáris címmé fordítja - transzformálja - majd a lapozó mechanizmust használva a lineáris címet fizikai címmé fordítja. Így a szegmentálástól eltérő módon kettős címfordítás történik. Ha nincs a fizikai memóriában az a lap amelyikre a lineáris cím hivatkozik, akkor a processzor laphiba kivételt (#PF - page-fault exception-t) generál. A laphiba kivételt lekezelő - kernel szintű - eljárás utasítja az operációs rendszert a kért lap betöltésére, a háttértárolóról a fizikai memóriába. (Ez a lap betöltés járhat azzal, hogy először a fizikai memóriában helyet kell készíteni a betöltendő lapnak, így először fizikai lapok kerülnek ki a háttértárolóra, és ennek a helyére kerül a kívánt lap.) Amikor a lap betöltődött a fizikai memóriába a kivételt lekezelő rutin után a taszk futása azon az utasításon folytatódik mely a kivételt kiváltotta. Így az az utasítás már elérheti a kívánt logikai címet. A processzor táblázatokban tárolja el azon információkat, mely alapján a lineáris címet fizikaivá fordítja, illetve melyből kiderül, hogy laphibát kell generálni mert a háttértárolón van a kívánt lap.

Ezeket a táblázatokat lapcímtárnak (page directory) és lap táblázatnak (page table) nevezzük. A lapcímtár (page directory - PD) elemei a lapcímtár bejegyzések (page directory entry - PDE), melyek lap táblázatokra (page table) mutatnak. A lap táblázat elemei (page table entry - PTE) pedig a fizikai memória lapokra (pages) mutatnak. (Egy lap táblázatot a lapcímtár bejegyzés segítségével, s egy fizikai lapot a lap táblázat bejegyzése által szolgáltatott kezdőcímmel lehet kiválasztani.)

A lapozás abban is különbözik a szegmentálástól, hogy fix méretű lapokat, memória-tartományokat használ. Ha csak szegmentált memória modellt használunk, akkor egy kód vagy adatstruktúránk minden egyes része, szegmense biztosan a fizikai memóriában van. A lapozásnál ettől eltérően lehet, hogy adatstruktúránk egy része a fizikai más része a háttértárolóból képzett memóriában, a virtuális memóriában van. Persze a két szélső eset is gyakran előfordul, hol egészen vagy a fizikai memóriában vagy a háttértárolón vannak a nevezett lapok.

Hogy minimalizáljuk a címfordításhoz szükséges busz ciklusok számát, a legtöbbet használt lapcímtár és lap táblázat bejegyzések, indexek a processzor TLB-nek nevezett részében vannak cache-elve. (TBLs - Translation Lookaside Buffers - "fordítási segédpuffer" Ezután csak TLB-k.) A TLB-k kiszolgálják szinte az összes olvasási kérelmet az aktuális lapcímtárra és lap táblázatra anélkül, hogy a processzornak külön a memóriában kellene olvasnia, ezzel plusz busz ciklust okozva. Csak akkor történik plusz busz ciklus a címfordítás során, ha egyetlen TLB bejegyzés sem tartalmazza a kívánt lap táblázat bejegyzést, ez tipikusan akkor történik, ha a kívánt lapot hosszú ideje nem kezeltük.

Lapozási lehetőségek

A lapozást az alábbi három flag vezérli:

  • PG (paging - lapozás) flag, 31. bit a CR0-ban (Intel386™-tól létezik)
  • PSE (page size extension - lap méret kiterjesztés) flag, 4. bit a CR4-ben (a Pentium® illetve a Pentium Pro-tól elérhető)
  • PAE (page address extension - lap cím kiterjesztés) flag, 5. bit a CR4-ben (a Pentium Pro-tól elérhető)
A PG flag engedélyezi (PG=1) vagy tiltja (PG=0) a lapozó mechanizmust. Az operációs rendszer ha használja, akkor általában a processzor inicializálása során kacsolja be. A PG flaget be kell kapcsolni, ha virtuális memóriakezelést akarunk használni, vagy az operációs rendszer több, mint egy viruális-8086-os taszkot kíván futtatni.

A PSE flag engedélyezi (PSE=1 esetén) a nagy lapok használatát: 4 MBájtos vagy 2 MBájtos lapok (az utóbbi PAE=1 esetén használható). Ha PSE üres, akkor minden lap 4 KBájt nagyságú. (A 4 illetve 2 MBájtos lapokat alább bővebben tárgyalunk.)

A PAE flag engedélyezi (PAE=1 esetén) a 36 bites fizikai címzést. Ez a lehetőség, a fizikai cím kiterjesztés csak a lapozásnál használható. Ez mechanizmus a lapcímtárakra illetve a lap táblázatokra épít, így érhetőek el a P6 családban (a Pentium Pro-val) bevezetett 32 bit feletti memória címek.

Laptáblázatok és lapcímtárak

A processzor az alábbi négy adat struktúrát használja a lineáris címből fizikaivá történő címfordítás esetén, amennyiben a lapozás engedélyezett:

  • Lapcímtár: Egy tömb, mely 32 bites bejegyzésekből, a lapcímtár bejegyzésekből áll. (PDEs - page-directory entries) Ez az adat struktúra egy db 4 KBájtos lapban foglal helyet, így 1024 bejegyzése lehet maximálisan. (4096 Bájt / 4 Bájt = 1024). Így a lapcímtár index 0 - 1023 között kell, hogy legyen.
  • Lap táblázat: Egy tömb, mely 32 bites bejegyzésekből, a lap táblázat bejegyzésekből áll. (PTEs - page-table entries) Ez az adat struktúra egy db 4 KBájtos lapban foglal helyet, így 1024 bejegyzése lehet maximálisan. (4096 Bájt / 4 Bájt = 1024). Így a laptábla kiválasztó 0 - 1023 között kell, hogy legyen. (Ha 2, vagy 4 MBájtos lapokkal dolgozunk, akkor a lap táblázat nem használt.)
  • Lap (ez maga a lap, vagy nevezik lap keretnek is): A fenti flagek beállításától függően reprezentálhat: 4 KBájtos, 4 MBájtos, vagy 2 MBájtos összefüggő címtartományt.
  • Lapcímtár mutató tábla (Page-Directory-Pointer Table): Ez egy olyan tömb, mely 64 bites bejegyzésekből áll. Minden egyes bejegyzés - ahogy később látni is fogjuk - lapcímtárra mutat. Ez az adat struktúra csak akkor használt ha, a PAE=1.
Ezek a táblázatok biztosítanak hozzáférést, vagy a 4 KBájtos vagy a 4 MBájtos lapokhoz a sima 32 bites címzéskor, és a (36 bites) fizikai cím kiterjesztéskor a 4 KBájtos illetve a 2 MBájtos lapokhoz. Az alábbi táblázat bemutatja a lap, illetve a fizikai cím méretét melyet a fenti flagek különböző beállításából kaphatunk. Továbbá van egy másik bit is a PS (Page Size - lap méret) ami a lapcímtár minden egyes bejezésében megtalálható, megadja, hogy a lap táblázat bejegyzése vajon 4 KBájtos (ha PS=0) vagy 4 MBájt / 2 MBájtos lapra mutatnak -e (PSE vagy PAE = 1, illetve PS=1). A PS bitről a későbbiekben bővebben szólunk. Lássuk ezen bitek által kialakítható kombinációkat, az alábbi táblázatban:
PG flag (CR0)
PAE flag (CR4)
PSE flag (CR4)
PS flag

(lt. bejegyzés)

Lap méret
Fizikai cím mérete
0
X
X
X
-
Lapozás letiltva
1
0
0
X
4 KBájtos
32 bites
1
0
1
0
4 KBájtos
32 bites
1
0
1
1
4 MBájtos
32 bites
1
1
X
0
4 KBájtos
36 bites
1
1
X
1
2 MBájtos
36 bites

Lap méretek és fizikai cím méretek

Lineáris címfordítás, 4 KBájtos lapok esetén

Az alábbi ábra mutatja a lapcímtár és a lap táblázat hierarchiáját, amikor a lineáris címtartomány 4 KBájtos lapokba van osztva. A lapcímtár fizikai kezdőcímét a CR3 (PDBR) regiszter tartalmazza a már elmondott módon. A lapcímtár adott bejegyzései egy lap táblázatra mutatnak. A lap táblázat adott bejegyzése az adott fizikai memória lapra mutat. Ez a lapozásos mechanizmus 220 lapot használ (1024 lapcímtár bejegyzés * 1024 lap táblázat bejegyzés = 220 lap). 220 lap pedig 220 * 4096 Bájt = 4 GBájt = 232 Bájt nagyságú lineáris címtartományt tud lefedni. Lássuk az ehhez tartozó ábrát:

Lineáris címfordítás (4 KBájtos lapok)

Ahhoz, hogy kiválaszthassuk a megfelelő lapcímtárat illetve lap táblázatot, a lineáris cím az alábbi három részre oszlik (lásd a fenti ábrát):

  • Lapcímtár bejegyzés - A lineáris 32 bites cím: 22-től 31-ig vett bitei (10 bit). Ez egy ofszet (index) a lapcímtár egyik bejegyzésére, a kiválasztott bejegyzés adja meg a fizikai kezdőcímét a lap táblázatnak.
  • Lap táblázat bejegyzés - A lineáris 32 bites cím: 12-től 21-ig vett bitei (10 bit). Ez egy ofszet (index) a kiválasztott lap táblázat egyik bejegyzésére, a kiválasztott bejegyzés adja meg a fizikai kezdőcímét az elérni kívánt lapnak (page).
  • Lap ofszet - A lineáris 32 bites cím: alsó 12 bite (0-tól 11-ig vett bitek). Ez adja meg egy lapon belül az elérni kívánt bájt ofszetjét.
A memória kezelő programok használhatnak csak egy lap címtárat minden taszk számára, vagy kaphat minden taszk külön lapcímtárat, vagy ezt a két lehetőséget kombinálni is engedi a processzor.

Lineáris címfordítás, 4 MBájtos lapok esetén

Az alábbi ábra mutatja, hogy hogyan lehet a lineáris címtartományt 4 MBájtos lapokkal lefedni illetve azokra osztani. A lapcímtár bejegyzései közvetlenül, lap táblázatok nélkül 4 MBájtos lapokra mutatnak a fizikai memóriában. Mivel a lapcímtárnak 1024 bejegyzése lehet, és 4 MBájt méretűek a lapok így le lehet fedni az egész 4 GBájt lineáris címtartományt. (1024 bejegyzés * 4 MBájt = 4 GBájt) Lássuk az ehhez tartozó ábrát:

Lineáris címfordítás (4 MBájtos lapok)

4 MBájtos lapot úgy hoz létre a memória menedzser, hogy a PSE bitet a CR4 regiszterben bekapcsolja (ezáltal engedélyezi a nagy lapokat), és lapcímtár adott bejegyzésében jelzi a PS bit bekapcsolásával, hogy ez a bejegyzés nagy, 4 MBájtos lapra mutat (A következő ábra bemutatja a lapcímtár illetve lap táblázat bejegyzéseinek felépítését, lásd alább.). Ezáltal, ha a PSE és PS bitek is bekapcsoltak a lineáris cím az alábbi két részre bomlik a 2. címfordítás előtt:

  • Lapcímtár bejegyzés - A lineáris 32 bites cím: 22-től 31-ig vett bitei (10 bit). Ez egy ofszet (index) a lapcímtár egyik bejegyzésére, a kiválasztott bejegyzés adja meg a fizikai kezdőcímét az elérni kívánt 4 MBájtos lapnak.
  • Lap ofszet - A lineáris 32 bites cím: alsó 22 bite (0-tól 21-ig vett bitek). Ez adja meg egy lapon belül az elérni kívánt bájt ofszetjét.

A 4 KBájtos és 4 MBájtos lapok keverése

Amikor a CR4 regiszterben a PSE bit bekapcsolt, a 4 MBájtos lapok illetve a 4 KBájtos lapok lap táblázatai is elérhetőek ugyanabból a lapcímtárból a bejegyzés PS bit állapotától függően. Ha a PSE bit kikapcsolt, akkor csak a 4 KBájtos lapok lap táblázatai érhetőek el a lapcímtárból a PS bit állapotától függetlenül. (Ennek ellenére a későbbi kompatibilitás megőrzése végett érdemes ilyenkor a PS bitet kikapcsoltan hagyni.)

Tipikus esete a 4 KBájtos és 4 MBájtos lapok keverésének amikor az operációs rendszer kernel-jét nagy méretű lapba helyezzük, hogy csökkentsük a címfordításra fordított időt, így növeljük a rendszer teljesítményét. (A kis lapok esetén nem biztos, hogy mindig a TLB-ben van a lapcímtár illetve lap táblázat címe, így sok lehet a plusz busz ciklus. Míg egy vagy két nagy lap címfordítási ideje abszolút elenyésző.) Megjegyzendő továbbá, hogy a processzor a 4 MBájtos és a 4 KBájtos lap bejegyzéseknek elkülönített TLB-t tart fenn. Így ha a nagyobb és sokat használt kódot 4 KBájtos lapok helyett 4 MBájtosba helyezzük ezáltal a többi 4 KBájtos lap számára helyet szabadítunk fel a TLB-ben. (Így több 4 KBájtos lap bejegyzést tárolhatunk el a TLB-ben.) Ezáltal tovább növelhető a rendszer teljesítménye. (Így a nagy 4 MBájtos lapok használata két módon gyorsíthatja a rendszert.)

A lapcímtár kezdőcíme

Az aktuális lapcímtár fizikai kezdőcíme a CR3 regiszterben (ezt page directory base register-nek vagy PDBR-nek is hívják) van eltárolva. Ha a lapozás használva lesz, akkor a PDBR-t a processzor inicializálásakor kell beállítani, mielőtt még engedélyeznénk a lapozást. A PDBR-t megváltoztathatjuk explicit módon úgy, hogy a CR3 regiszterbe a MOV paranccsal új értéket töltünk, vagy implicit módon a taszk váltás során a TSS-ben más CR3 értéket adunk meg. (A TSS-ről még a taszk kezelésnél bővebben szót ejtünk.)

Nincs "betöltött" (present) flag a PDBR-ben a lapcímtár számára. (Az-az: nincs olyan bit mely jelezhetné, hogy a lapcímtár maga, a fizikai memóriában van -e. Ezáltal nem generálódhat kivétel se ha nincs a fizikai memóriában.) Ennek ellenére a lapcímtárnak nem kell jelen lennie a fizikai memóriában (~ úgymond ki lehet lapozva a háttértárolóra), amíg hozzá tartozó taszk fel van függesztve (a háttérben van). Viszont az operációs rendszernek meg kell győződnie, hogy taszkra váltás előtt annak a taszknak a TSS-ében tárolt PDBR (CR3) által mutatott lapcímtár a fizikai memóriában van e, s ha igen, csak akkor válthat rá. Továbbá amíg a taszk aktív, a lapcímtárnak úgyszintén a memóriában kell lennie.

Lapcímtár és lap táblázat bejegyzések

Az alábbi ábrák bemutatják a lapcímtár és a lap táblázat bejegyzéseinek felépítését, amikor 4 KBájtos lapokat és sima 32 bites fizikai címzést használunk.

A lapcímtár bejegyzés felépítése (4 KBájtos lapok esetén)

A lap táblázat bejegyzés felépítése (4 KBájtos lapok esetén)

A lapcímtár bejegyzés felépítése (4 MBájtos lapok esetén; 32 bites címzés)

A fenti ábrákban lerajzolt flagek és mezők szerepe és jelentése:

  • Lap kezdő cím:
  • 4 KBájtos lap esetén a lap táblázat bejegyzés: 12. bitétől a 31-ig (a felső 20 bit). Megadja a fizikai kezdőcímét a 4 KBájtos lap első bájtjának. Ez a fizikai cím felső 20 bite, így a lapnak 4 KBájtos határra kell, hogy igazítva legyen (a cím 4096-tal osztva 0-t ad).
  • 4 KBájtos lap esetén lap táblázat kezdő címe a lapcímtár bejegyzésben: Megadja a fizikai kezdőcímét a lap táblázat első bájtjának. Ez is az előzőhöz hasonló módon a fizikai cím felső 20 bitjét adja, így 4 KBájtos határra kell, hogy igazítva legyen a lap táblázat is. (A lapcímtár minden egyes lap táblájának 4 KBájtra igazítva kell lenniük.)
  • 4 MBájtos lap esetén a lapcímtár bejegyzésben: Megadja a 4 MBájtos lap első bájtjának fizikai kezdőcímét. Csak a felső 10 bit (22-től 31-ig vett bitek) használt, így a 12-től 21-ig vett bitek fenntartottak. Pentium II-től ezeket a biteket 0-ra kell állítani. (Azért csak a felső 10 bit használt, mert 1024 db 4 MBájtos lap lehet, és ezt 10 biten lehet letárolni, továbbá a 4 MBájtos igazítás miatt. à) Itt a fizikai kezdőcímét a lapnak, a 4 MBájtos lapnak, a felső 10 bit adja, így 4 MBájtos határra kell igazítani a lapot.
  • Betöltött, "jelen van" flag (P - Present), a bejegyzések 0. bite:
    Megadja, hogy a lap, vagy a lap táblázat, amire az adott bejegyzés mutat, éppen a fizikai memóriában van e. Ha ez flag bekapcsolt a bejegyzésben, akkor amire mutat (lap illetve lap táblázat) a fizikai memóriában van, és a kívánt bájt elérése megtörténik a címfordítás után. Ha ezen bit kikapcsolt akkor a lap vagy a lap táblázat nincs a memóriában, és ha a processzor ehhez a nem betöltött laphoz akar hozzáférni, akkor laphiba (#PF) kivételt generál.

    A processzor soha nem állítja át ezen bit értékét, csak az operációs rendszer állíthatja be attól függően, hogy kilapozta háttértárra, vagy onnan töltötte be.

    Ha a processzor laphiba kivételt generál akkor az operációs rendszernek az alábbiakat kell végrehajtania:
     
     

  1. Be kell töltenie az elérni kívánt lapot a háttértárolóról a fizikai memóriába
  2. Be kell írnia a lap kezdőcímét a lapcímtárba vagy a lap táblázatba (attól függően, hogy lapot, vagy lap táblázatot töltött be) és be kell kapcsolnia a P (present - betöltött) flaget. Továbbá ugyanekkor nyílik lehetőség a piszkos (D) és hozzáfért (A) flagek (lásd alább) beállítására is.
  3. Érvénytelenítni az aktuális lap táblázat bejegyzést a TLB-ben.
  4. Visszatér a laphibát lekezelő eljárásból (#PF handler), hogy folytassa a megszakított taszk futását. (Azon az utasításon folytatódik újra, ami a kivételt okozta.)
  • Írás / Olvasás flag (R/W - Read / Write), a bejegyzések 1. bite:
Meghatározza az írás és olvasási jogokat egy lapon vagy lapok csoportján (ha egy lap táblázatra mutató lapcímtár bejegyzésben adjuk meg). Ha a flag üres, akkor a lap (vagy lapok) csak olvasható(ak), ha bekapcsolt akkor a lap (illetve lapok) olvashatóak és írhatóak is. Ez a flag a bejegyzések U/S illetve a CR0-ban található WP flaggel együtt alakítják ki hatásukat.
  • Felhasználó / felügyelői (U/S - User / Supervisor) flag, a bejegyzések 2. bite:
    Meghatározza az felhasználói illetve felügyelői jogokat egy lapon vagy lapok csoportján (ha egy lap táblázatra mutató lapcímtár bejegyzésben adjuk meg). Ha a flag kikapcsolt, akkor a lap (vagy lapok) a felügyelői (supervisor) privilégium szinthez tartoznak, ha bekapcsolt, akkor pedig a felhasználói (user) privilégium szinthez. Hatását ez a flag a már említett R/W és CR0-beli WP flagekkel együttesen fejti ki. Ezekről bővebben a lap szintű védelemnél, a következő fejezetben lesz szó.
     
     
  • Lap szintű átírás (PWT - Page-level write-through) flag, a bejegyzések 3. bite:
Kontrollálja, hogy átíró (write-through) vagy visszaíró (write-back) cache-elő eljárást alkalmazzon a processzor egy lapra, vagy egy lap táblázatra. Ha a PWT flag bekapcsolt, akkor engedélyezi az átíró cache-elést a bejegyzéshez tartozó lapra vagy lap táblázatra. Ha ezen flag kikapcsolt, akkor visszaíró cache-elés az engedélyezett, a bejegyzéshez tartozó lapra vagy lap táblázatra. A processzor figyelmen kívül hagyja ezen flag állapotát, ha a CR0 regiszterbeli CD (cache disable) flag bekapcsolt.
  • Lap szintű cache-elés tiltása (PCD - Page-level cache disable) flag, a bejegyzések 4. bite:
    Kontrollálja a cache-elést lapokon vagy a lap táblázatokon. Ha a PCD flag bekapcsolt, akkor a bejegyzéshez tartozó lap, vagy lap táblázat cache-elése letiltott. Ha ez a flag kikapcsolt, akkor a lap vagy laptábla cache-elhető. Ez a flag valósítja meg azon lapok cache-elésének letiltását, melyek vagy a memóriába ágyazott I/O port-okat (kapukat) tartalmaznak, vagy a cache-elés nem hozna azon lapok elérésében jelentősebb teljesítménynövekedést. A processzor figyelmen kívül hagyja ezen flag állapotát, ha a CR0 regiszterbeli CD (cache disable) flagbekapcsolt.
     
     
  • Hozzáfért (A - Accessed) flag, a bejegyzések 5. bite:
    Jelzi, hogy a lapot vagy lap táblázatot használták e (olvastak e belőle, vagy írtak e bele). A memória kezelő programok tipikusan törlik ezt a flaget azután, hogy a lapot vagy lap táblázatot a fizikai memóriába töltötték. A processzor pedig bekapcsolja ezt a flaget, mihelyt először hozzányúlnak a laphoz vagy lap táblázathoz. (ha írni vagy olvasni akarjuk) Ez a flag úgynevezett "ragadós" ("sticky") flag, az-az a processzor csak egyszer kapcsolja be (ha bekapcsolt, akkor újra nem kapcsolja be), s soha nem kapcsolja ki implicit módon. Csak szoftver kapcsolhatja ki explicit módon. Ez a flag, illetve az alábbi piszkos (D - dirty) flag együttesen használhatóak a memória menedzselő szoftverek számára a lapok, illetve lap táblázatok kilapozására (a háttértárolóra), illetve onnan belapozására a fizikai memóriába.
     
     
  • Piszkos (D - Dirty) flag, a bejegyzések 6. bite:
    Ha bekapcsolt, akkor jelöli, hogy a lapba írtak. (Ez a flag nem használt - 0-ra állított - azon lapcímtárak bejegyzésében, melyek lap táblázatokra mutatnak.) A memória kezelő programok ezt a flaget tipikusan azután nullázzák ki, miután a fizikai memóriába töltötték a flaghez tartozó lapot (a flag bejegyzéséhez tartozó lapot). A processzor bekapcsolja ezt a flaget az első írás hozzáféréskor. Ez a flag is úgynevezett "ragadós" ("sticky") flag, az-az a processzor csak egyszer kapcsolja be (ha bekapcsolt, akkor újra nem kapcsolja be), s soha nem kapcsolja ki implicit módon. Csak szoftver kapcsolhatja ki explicit módon. Ez a flag illetve fenti hozzáfért (A) flag együttesen használhatóak a memória menedzselő szoftverek számára a lapok illetve lap táblázatok kilapozására (a háttértárolóra), illetve onnan belapozására a fizikai memóriába.
     
     
  • Lap méret (PS - Page size) flag, lapcímtár bejegyzés 7. bit:
Megadja a lap méretét. Ez a flag csak a lapcímtár bejegyzéseiben használt. Ha ez a flag kikapcsolt, akkor a lap mérete 4 KBájtban értendő és a lapcímtár bejegyzése egy lap táblázatra mutat. Amikor ez a flag bekapcsolt és normál 32 bites címzést használunk, akkor 4 MBájt a lap mérete (illetve ha a fizikai cím kiterjesztés (PAE) a bekapcsolt, akkor 2 MBájt a lap méret) és ilyenkor egy lapra mutat a lap táblázat bejegyzése. Ha a lapcímtár bejegyzése egy lap táblázatra mutat, akkor az összes lap táblázat által mutatott lap biztosan 4 KBájtos lesz.
  • Globális (G - Global) flag, a bejegyzések 8. bite:
(A Pentium Pro processzortól használható - tehát a P6 családtól -, ezelőtti processzoroknál fenntartott.) Ha bekapcsolt, jelzi a globális lapok (global page) használatának lehetőségét. Amikor egy lapot globálisnak jelölünk meg és a CR4 regiszter PGE (PGE - page global enable; globális lap engedélyezése) flagje bekapcsolt, akkor taszk váltáskor vagy a CR3 regiszterbe új érték töltése esetén a lap táblázat vagy lapcímtár bejegyzése a globális lapra a TLB-ben nem lesz érvénytelenre állítva. Ez a flag elősegíti, hogy a sokat használt oldalak (pl. operációs rendszer kernel-jének lapjai) bejegyzései szinte mindig a TLB-ben legyenek, s a CR3 (PDBR) regiszter megváltozásakor ne kerüljenek ki onnan. Csak szoftver állíthatja ezt a flaget: ki- vagy bekapcsolt állapotura. Azon lapcímtár bejegyzésekre, melyek lap táblázatra mutatnak, ez a flag mellőzve lesz és a globális karakterisztikát lap táblázat bejegyzéseiből veszi.
  • Fenntartott (reserved) és a szoftverek számára használható (AVL - avaible-to-software) bitek:
A lap táblázat bejegyzésben a 7. bit fenntartott és 0-ra állítható, azon lapcímtár bejegyzésben, mely lap táblázatra mutat, a 6. bit a fenntartott és 0-ra állítható. A 4 MBájtos lapok lapcímtár bejegyzésének 12-től 21-ig vett bitei fenntartottak és Pentium II-től 0-ra kell állítani ezeket. Minden lap - lap táblázat - lapcímtár bejegyzés 9, 10, 11. bitei felhasználhatóak a rendszer szoftverek vagy éppen az operációs rendszer által. Amikor a PSE és PAE flagek bekapcsoltak a CR4 regiszterben, a processzor laphiba (#PF) kivételt generál, amennyiben a fenntartott bitek nem 0-ra vannak állítva.
Nem betöltött lapcímtár illetve lap táblázat bejegyzések

Amennyiben a lap táblázat vagy lapcímtár P (Present - jelen van, "betöltött") flagje kikapcsolt, akkor az adott bejegyzés 1-től 31-ig vett bitei (magát a P legalsó bitet kivéve, az összes) az operációs rendszer által felhasználható. Általában ez a felhasználható része a bejegyzésnek információt tartalmaz az operációs rendszer részére, hogy hol van eltárolva (pontosabban, hogy hol tárolta el) a kilapozott lapot a háttértárolón. Ekkor ez a felépítése a bejegyzésnek:

A lapcímtár vagy lap táblázat bejegyzés felépítése amikor nincs betöltve a lap