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í:

Položka adresáře stránky pro 32bitové stránkování
31–2221–1716–131211–9876543210
jiné než PSEzákladní adresa tabulky stránekvyužít0PS = 0ignAPCDPWTUŽP
PSEbit 31..22 adresy rámce stránkyrezervováno (musí být nula)PAT[A]využít0PS = 1D[b]APCDPWTUŽP
PSE-36bit 31..22 adresy rámce stránkyrezervováno (musí být nula)bit 35..32 adresy rámce stránkyPATvyužít0PS = 1DAPCDPWTUŽP
  1. Tabulka atributů stránky; od té doby Pentium III, musí být u starších CPU nulová.
  2. "Š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

  1. ^ A b C d „Intel Extended Server Memory Architecture“ (PDF). Objednací číslo Intel: 243846-001. 1998. Citováno 2014-03-01.
  2. ^ A b C „Netinfinity Performance Tuning with Windows NT 4.0“ (PDF). Redbooks.ibm.com. str. 51–52. Citováno 2014-03-01.
  3. ^ A b C d „Operační systémy a podpora PAE“. Msdn.microsoft.com. 14. 7. 2006. Citováno 2014-03-01.
  4. ^ A b Deni Connor (7. prosince 1998). Tady přicházejí osmicestné servery Xeon. Síťový svět. p. 19. ISSN  0887-7661.
  5. ^ Michael Missbach; Uwe M. Hoffmann (2000). Hardwarová řešení SAP. Prentice Hall Professional. p. 62. ISBN  978-0-13-028084-8.
  6. ^ A b C d Tom Shanley (2009). Architektura sady instrukcí x86. MindShare Press. 578–579. ISBN  9780977087853.
  7. ^ 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.
  8. ^ 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.
  9. ^ Identifikace procesoru Intel a instrukce CPUID Archivováno 24. 7. 2013 na Wikiwix, poznámka k aplikaci Intel AP-485
  10. ^ 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.
  11. ^ 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.
  12. ^ „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.
  13. ^ Procesor Intel Pentium II Xeon. Nové čipové sady pro Pentium II Xeon
  14. ^ „How the liveCache <7.4 use PSE36 / AWE“. Stechno.net. 4. 4. 2003. Citováno 2014-03-01.
  15. ^ 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.
  16. ^ 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.