PSE-36 - PSE-36
v výpočetní, PSE-36 (36bitové rozšíření velikosti stránky)[1] odkazuje na vlastnost x86 procesory, které rozšiřují fyzická paměť možnosti adresování od 32 bitů do 36 bitů, což umožňuje adresování až 64 GB paměti.[2] Ve srovnání s Rozšíření fyzické adresy (PAE) je PSE-36 jednodušší alternativou k adresování více než 4 GB paměti. Využívá Rozšíření velikosti stránky Režim (PSE) a upravená tabulka adresářů stránek pro mapování 4 MB stránek do 64 GB fyzického adresního prostoru. Nevýhodou PSE-36 je, že na rozdíl od PAE nemá přesnost stránky 4 kB nad hranici 4 GB.[3]
PSE-36 byl zaveden do architektury x86 s Pentium II Xeon a původně byla inzerována jako součást „Intel Extended Server Memory Architecture“[2][4] (někdy zkráceně ESMA[5]), značka, která zahrnovala také o něco starší PAE (a tedy Pentium Pro, který podporoval pouze PAE, byl inzerován s tím, že má pouze „podporu podmnožiny“ pro ESMA).[1]
Rozkvět PSE-36 byl relativně krátký. Hlavní výhodou PSE-36 bylo to, že na rozdíl od PAE vyžadovalo malé přepracování vnitřních částí operačního systému, a tak se PSE-36 ukázalo jako vhodné stopgap opatření[6] okolo Windows NT 4.0 Časový rámec Enterprise Edition. Novější operační systémy Microsoft, včetně Windows 2000, podporovat pouze PAE.[7] Některé operační systémy mají rádi Linux úplně vynechal PSE-36.[8] Navzdory tomu se AMD a novější Intel rozhodli poskytnout podporu až 40 bitů PSE ve svých 64bitových procesorech, pokud jsou provozovány v starší režim.
Úkon
Detekce
Podpora PSE-36 je indikována bitem EDX 17 (počítáno od 0) ve výsledku cpuid pro rysové bity. (Jedná se o odlišný bit od běžné podpory PSE, který je označen bitem 3 ve stejném registru).[9][10]
Aktivace a použití
Pokud jde o aktivaci PSE-36, není zde samostatný bit od toho, který zapíná PSE.[10] Pokud procesor (jak naznačuje cpuid) a čipová sada podporují PSE-36, což umožňuje samotnou PSE (nastavením bitu 4, PSE, systémového registru CR4
) umožňuje použití velkých 4 MB stránek (v rozsahu 64 GB) spolu s normálními 4 kB stránkami (které jsou však omezeny na rozsah 4 GB).[10]
Pokud je na serveru k dispozici novější funkce PSE-36 procesor, jak je zkontrolováno pomocí CPUID instrukce, pak 4 další bity, kromě 10 bitů použitých v PSE, 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.[10]
Bit PS (bit 7) v položce Page Directory Entry (PDE) označuje, zda tato položka odkazuje na tabulku stránek (která popisuje 1024 stránek 4 KiB) nebo na jednu stránku 4 MB. Struktury PDE v normálním režimu, režimu PSE a režimu PSE-36 jsou následující:
31–22 | 21–17 | 16–13 | 12 | 11–9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jiné než PSE | základní adresa tabulky stránek | využít | 0 | PS = 0 | ign | A | PCD | PWT | U | Ž | P | |||||||||||||||||||||
PSE | bit 31..22 adresy rámce stránky | rezervováno (musí být nula) | PAT[A] | využít | 0 | PS = 1 | D[b] | A | PCD | PWT | U | Ž | P | |||||||||||||||||||
PSE-36 | bit 31..22 adresy rámce stránky | rezervováno (musí být nula) | bit 35..32 adresy rámce stránky | PAT | využít | 0 | PS = 1 | D | A | PCD | PWT | U | Ž | P |
- Tabulka atributů stránky; od té doby Pentium III, musí být u starších CPU nulová.
- "Špinavý" bit: nastaven na 1 CPU, pokud na této stránce existuje přístup pro zápis. U 4 stránek KiB tento příznak existuje v příslušném záznamu tabulky stránek (PTE).
Rozšíření až na 40 bitů
AMD rozšiřuje toto schéma na 40 adresových bitů interpretací bitů 20..13 PDE jako bit 39..32 základní adresy stránky v jejich AMD64 procesory při provozu v starší režim, takže je vyhrazen pouze bit 21 (musí být nula). Všimněte si však, že CR4.PSE je v dlouhý režim a 4 MB stránky ve stylu PSE nejsou v tomto režimu k dispozici.[11] Celkové množství fyzické paměti adresovatelné ve starším režimu AMD64 pomocí stránek PSE 4 MB je tedy 1024 GB.[6] Tom Shanley nazval toto rozšíření PSE-40,[6] ačkoli takové označení se neobjevuje v oficiální dokumentaci AMD.[11]
Nejnovější příručky Intel (únor 2014) také naznačují podporu až 40 bitů v PSE. Přesný počet bitů PSE podporovaných na procesorech Intel však může být menší a musí být stanoven pomocí CPUID k dotazu na maximální šířku fyzické adresy podporovanou procesorem vyvoláním CPUID s funkce 80000008H a kontrola výsledku v EAX [7: 0].[12]
Používání
Praktická užitečnost funkce PSE-36 závisí na podpoře čipové sady pro více než 4 GB RAM. Většina čipsetů z časového rámce Pentium II tolik paměti nepodporovala, přičemž 1 GB je maximum pro typickou stolní čipovou sadu Intel 440BX a 2 GB pro chipset pracovní stanice 440GX. Pouze špičkový server Intel 450NX čipset podporoval 8 GB.[2][13] Podpora serverů PSE-36 (ESMA) byla tedy obvykle inzerována.[4]
Jako vhodný operační systém podporující PSE-36 inzeroval v roce 1998 Intel Microsoft Windows NT Server, Enterprise Edition 4.0 a údajně nadcházející NT 5.0, oba umožňují použití prostřednictvím PSE36 ovladač zařízení,[1] který většinu operačního systému nevěděl o PSE-36 (dočasně jej povolil pouze ovladač PSE36) a který ovladač musel být volán aplikacemi, které chtěly získat přístup k více než 4 GB.[6] Windows NT 4.0 Enterprise Edition tedy používal funkci PSE-36 v zásadě jako RAM disk.[3] Ovladač PSE36 byl používán některými aplikacemi na Windows NT Například servery 4.0 Enterprise Edition MÍZA liveCache,[14] Microsoft SQL Server 7.0,[7] Věštec 8.1.5,[15] a IBM DB2.[16] V tuningové dokumentaci je uvedeno, že „Bohužel ve většině případů nejsou zvýšení výkonu dosažené pomocí ovladače PSE-36 nijak velkolepé. V mnoha případech bude server běžet pomaleji s 8 GB pomocí ovladače PSE-36, než běží se 4 GB bez ovladače. [...] Po více než roce experimentování a ladění zrušily Microsoft a IBM podporu PSE-36 kvůli nedostatečnému zvýšení výkonu. Ovladač je stále k dispozici pro dodavatele od společnosti Intel, ale není vhodný pro použití koncovým zákazníkem. “[16]
Windows 2000 (NT 5.0) nakonec nepodporuje PSE-36,[7] kvůli nízkému výkonu ve srovnání s alternativním PAE.[3] Windows 2000 také nahradil API ovladače PSE36 novým API s názvem Rozšíření adresního okna (AWE), který používal PAE pod ním.[7][15] (AWE byl k dispozici pouze na serveru Datacenter Server a Advanced Server systému Windows 2000.) Windows aplikace následně migrovaly na toto nové API, např. počínaje Oracle 8.1.6[15] nebo MS SQL Server 2000.[7]
PSE-36 nebyl nikdy používán Linux.[8]
Ve srovnání s PAE
Rozšíření fyzické adresy (PAE) je alternativou k PSE-36, která také umožňuje 36bitové adresování. PSE-36 má výhody v tom, že se nezmění hierarchie tabulek stránek a že si stránky zachovávají svůj starý 32bitový formát a nejsou rozšířeny na 64 bitů. Zjevnou nevýhodou PSE-36 je, že v 64 GB fyzické paměti lze umístit pouze velké stránky a malé stránky lze stále umístit pouze v prvních 4 GB fyzické paměti.[3]
Architektura paměti Intel Extended Server
Architektura Intel Extended Server Memory Architecture je definována tak, aby zahrnovala dva 36bitové režimy adresování v základním procesoru: PAE-36 a PSE-36.[1]
Viz také
Reference
- ^ A b C d „Intel Extended Server Memory Architecture“ (PDF). Objednací číslo Intel: 243846-001. 1998. Citováno 2014-03-01.
- ^ A b C „Netinfinity Performance Tuning with Windows NT 4.0“ (PDF). Redbooks.ibm.com. str. 51–52. Citováno 2014-03-01.
- ^ A b C d „Operační systémy a podpora PAE“. Msdn.microsoft.com. 14. 7. 2006. Citováno 2014-03-01.
- ^ A b Deni Connor (7. prosince 1998). Tady přicházejí osmicestné servery Xeon. Síťový svět. p. 19. ISSN 0887-7661.
- ^ Michael Missbach; Uwe M. Hoffmann (2000). Hardwarová řešení SAP. Prentice Hall Professional. p. 62. ISBN 978-0-13-028084-8.
- ^ A b C d Tom Shanley (2009). Architektura sady instrukcí x86. MindShare Press. 578–579. ISBN 9780977087853.
- ^ A b C d E Přehrada Sajal (2004). Ladění dotazu na výkon serveru SQL bylo destilováno. Apress. p. 28. ISBN 978-1-4302-0407-7.
- ^ A b Daniel P. Bovet; Marco Cesati (17. listopadu 2005). Porozumění jádru Linuxu. „O'Reilly Media, Inc.“. p. 52. ISBN 978-0-596-55491-0.
- ^ Identifikace procesoru Intel a instrukce CPUID Archivováno 24. 7. 2013 na Wikiwix, poznámka k aplikaci Intel AP-485
- ^ A b C d Tom Shanley (2005). Nezkrácený Pentium 4: Genealogie procesoru IA32. Addison Wesley Professional. str. 732–736. ISBN 978-0-321-24656-1.
- ^ A b AMD Corporation (září 2012). "Svazek 2: Programování systému" (PDF). Příručka programátora architektury AMD64 (3.22 ed.). AMD Corporation. s. 25–26 a 125–126. Citováno 2014-02-17.
- ^ „Příručka pro vývojáře softwaru Intel 64 a IA-32 Architectures, svazek 3A: Průvodce programováním systému, část 1“ (PDF). Intel. p. „4-5“ a „4-11“.
Pokud není mechanismus PSE-36 podporován, M je 32 a tento řádek neplatí. Pokud je podporován mechanismus PSE-36, M je minimálně 40 a MAXPHYADDR (tento řádek neplatí, pokud MAXPHYADDR = 32). Informace o tom, jak určit MAXPHYADDR a zda je podporován mechanismus PSE-36, najdete v části 4.1.4. [...] CPUID.80000008H: EAX [7: 0] hlásí šířku fyzické adresy podporovanou procesorem. (U procesorů, které nepodporují funkci CPUID 80000008H, je šířka obvykle 36, pokud CPUID.01H: EDX.PAE [bit 6] = 1 a jinak 32). Tato šířka se označuje jako MAXPHYADDR. MAXPHYADDR je maximálně 52.
- ^ Procesor Intel Pentium II Xeon. Nové čipové sady pro Pentium II Xeon
- ^ „How the liveCache <7.4 use PSE36 / AWE“. Stechno.net. 4. 4. 2003. Citováno 2014-03-01.
- ^ A b C Michael R. Ault (2003-02-17). „Zvýšení dostupné paměti v systémech Linux a Windows“ (PDF). Bílá kniha knih ROBO. s. 10–12. Citováno 2014-03-01.
- ^ A b Vyladění výkonu serverů IBM xSeries (PDF) (3. vyd.). IBM SG24-5287-02. Červen 2002. str. 97. Archivovány od originál (PDF) dne 03.03.2014.