Rozšíření velikosti stránky - Page Size Extension
tento článek potřebuje další citace pro ověření.Říjen 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v výpočetní, Rozšíření velikosti stránky (PSE) odkazuje na vlastnost x86 procesory, které umožňují stránky větší než tradiční 4 KiB velikost. Byl představen v originále Pentium zpracovatel, ale to bylo pouze veřejně dokumentováno Intel s vydáním Pentium Pro.[1] The CPUID instrukci lze použít k identifikaci dostupnosti PSE na x86 CPU.[2]
Motivace
Představte si následující scénář. Aplikační program požaduje 1MiB paměťový blok. Aby bylo možné splnit tento požadavek, operační systém, který podporuje stránkování a běží na starších x86 CPU budou muset přidělit 256 stránky po 4 KiB. K údržbě adresářů stránek a tabulek stránek je zapotřebí režie 1 KiB paměti.
Při přístupu k této paměti 1 MiB by byla každá z 256 stránek uložena do mezipaměti překlad lookaside buffer (TLB; mezipaměť, která si pamatuje překlady virtuálních adres na fyzické adresy pro rychlejší vyhledávání při dalších požadavcích na paměť). Nepořádek v TLB je možná jednou z největších nevýhod toho, že máte několik položek stránky pro to, co mohlo být přiděleno v jednom jediném paměťovém bloku. Pokud se TLB zaplní, pak by se musel uvolnit záznam TLB, musel by se v paměti „procházet“ adresář stránek a tabulky stránek a nakonec by se přistupovalo k paměti a do TLB by se přenesl nový záznam . Jedná se o přísný výkonnostní trest a byl pravděpodobně největší motivací pro rozšíření architektury x86 o větší velikosti stránek.
PSE umožňuje existovat velikosti stránek 4 MiB a 4 stránky KiB. Výše popsaný požadavek 1 MiB by se snadno splnil s jedinou stránkou 4 MiB a vyžadoval by pouze jeden záznam TLB. Nevýhodou použití větších velikostí stránek je vnitřní fragmentace.
Úkon
V tradiční 32bitové verzi chráněný režim Procesory x86 používají dvoustupňové schéma překladu stránek, kde kontrolní registr CR3
ukazuje na jeden dlouhý 4 KiB adresář stránky, který je rozdělen na 1024 × 4 bajtové položky, které ukazují na 4 KiB dlouhé tabulky stránek, podobně se skládá z 1024 × 4 bajtových položek směřujících na 4 stránky dlouhé KiB.
Povolení PSE (nastavením bitu 4, PSE, systémového registru CR4
) mění toto schéma. Položky v adresáři stránek mají v bitu 7 pojmenovaný další příznak PS
(pro velikost stránky). Tento příznak byl ignorován bez PSE, ale nyní položka adresáře stránky s PS nastaveným na 1 neodkazuje na tabulku stránek, ale na jednu velkou stránku 4 MiB. Položka adresáře stránky s PS nastaveným na 0 se chová jako bez PSE.
Pokud novější PSE-36 schopnost je k dispozici na CPU, jak je zkontrolováno pomocí CPUID instrukce, pak 4 další bity, kromě normálních 10 bitů, jsou použity uvnitř položky adresáře stránky ukazující na velkou stránku. To umožňuje umístění velké stránky v 36bitovém adresním prostoru.
Li Rozšíření fyzické adresy Používá se (PAE), velikost velkých stránek se sníží ze 4 MiB na 2 MiB a PSE je vždy povoleno, bez ohledu na bit PSE v CR4
.
Reference
- ^ T. Shanley (1998). Architektura systému Pentium Pro a Pentium II. Addison-Wesley Professional. p.439. ISBN 978-0-201-30973-7.
- ^ Příručka pro vývojáře softwaru Intel 64 a IA-32 Architectures, svazek 3A. Intel Korporace. Srpen 2007. str. 3-26 až 3-28.