Zum Inhalt springen

Physical Address Extension

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 19. März 2026 um 00:03 Uhr durch imported>BrunoBoehmler (Linux: Datum korrigiert (übersehen, sorry)).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Vorlage:Hinweisbaustein {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (englisch für Erweiterung (der) physischen Adressierung), kurz PAE, ist eine technische Erweiterung auf dem Gebiet der Rechnerarchitektur. Mit PAE kann im 32-Bit-Modus eines x86-kompatiblen Prozessors (CPUs) mehr physischer Arbeitsspeicher adressiert werden als die 4 GiB, die über ein 32-Bit-Adressregister erreichbar sind.<ref>Intel® 64 and IA-32 Architectures Software Developer’s Manual – Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4. In: Content. Volume 3A, Kapitel 4.4: „PAE Paging.“ Intel Corporation, Juni 2023. Auf Intel.com, abgerufen am 19. März 2026 (englisch).</ref> Der für einen Prozess nutzbare Arbeitsspeicher bleibt bei einem linearen Speichermodell („{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“) aber auf 4 GiB begrenzt. Das Verfahren wird bei Intel ab dem Pentium Pro und bei AMD ab dem Athlon sowie bei Prozessoren der 32-Bit-x86-Architektur IA-32 anderer Hersteller eingesetzt. Spezielle Erweiterungen in der Paging-Einheit des Prozessors sorgen dafür, dass längere physische Adressen generiert werden können.

Begriff

Selten wird der Begriff auch mit Bindestrich verwendet („{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“), was der korrekten Schreibweise gemäß englischer Grammatik entspricht und vor allem seitens AMD auch so verwendet wird. Vorherrschend ist jedoch die Schreibweise ohne Bindestrich.

Unterstützung durch Hardware

Datei:X86 Paging PAE 4K.svg
Schematische Darstellung der Umsetzung von linearen in physische Adressen bei x86-kompatiblen CPUs im 32-Bit-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). Seitengröße: 4 KiByte, mit PAE.
Prozessor Adress-
leitungen
theoretisch adressierbarer
physikalischer Speicher
i386 bis Pentium 32 0.000.004 GiB (kein PAE)
Pentium Pro (P6) bis Core 2 36 0.000.064 GiB
Xeon 38 0.000.256 GiB
Athlon 64 (K8) 40 0.001.024 GiB = 0.001 TiB
AMD-K10-Architektur 48 0.262.144 GiB = 0.256 TiB
theoretisches Limit von PAE 52 4.194.304 GiB = 4.096 TiB

x86-Prozessoren, die PAE unterstützen, haben eine erweiterte Paging-Einheit. Die Paging-Einheit (in der Grafik dargestellt) wandelt die lineare Adresse in die physische Adresse um. Um PAE zu aktivieren, muss das Betriebssystem das Bit 5 im Steuerregister CR4 setzen.<ref>support.amd.com (PDF) </ref>

Bei aktiviertem PAE verwalten die Page-Directory- und Page-Table-Tabellen (PD und PT) der Paging-Einheit Adress-Einträge mit einer Breite von 64 Bit statt 32 Bit (bei jedem Adress-Eintrag werden einige Bits zur Verwaltung benutzt, sind also keine Adresse im engeren Sinn).

64-Bit-Eintrag im Seitenverzeichnis (Page directory entry)
Bits: 63 62 … 52 51 … 32
Inhalt: NX reserved Bit 51 … 32 der Basisadresse
Bits: 31 … 12 11 … 9 8 7 6 5 4 3 2 1 0
Inhalt: Bit 31 … 12 der Basisadresse AVL ig 0 ig A PCD PWT U/S R/W P

Damit die Größe der Tabellen unverändert bei 4 KiB bleibt, verwalten das PD und die PT nur noch jeweils die Hälfte der Einträge (512 statt 1024). Um den Rückgang auf ein Viertel der möglichen Adresseinträge auszugleichen, ist der PD-PT-Kombination eine weitere, sogenannte Page-Directory-Pointer-Tabelle vorgeschaltet, die 4 PDs statt eines PDs ansprechen kann.

Die angegebenen theoretisch adressierbaren Speichermengen des physikalischen Speichers sind Maximalwerte. In der Regel ist trotzdem nur weniger Speicher nutzbar, da einige Adressbereiche für Einblendungen von Hardwarespeicher genutzt werden. In Microsoft Windows kann in den Computereigenschaften gesehen werden, wie viel Speicher dem Betriebssystem tatsächlich zur Verfügung steht. Nur im Idealfall entspricht diese Zahl dem installierten Arbeitsspeicher. Dabei muss auch beachtet werden, dass viele Windows-Versionen willkürliche Speicherobergrenzen haben, die auch von der Edition abhängen. Alle Client-Versionen von 32-Bit-Ausgaben sind zum Beispiel auf 4 GiB beschränkt.

Datei:X86 Paging 4K.svg
Seitengröße 4 KiByte ohne PAE
Datei:X86 Paging 4M.svg
Seitengröße 4 MiByte ohne PAE
Datei:X86 Paging PAE 2M.svg
Seitengröße 2 MiByte mit PAE

Unterstützung durch Betriebssysteme

Zur Nutzung von PAE muss dieses auch vom Betriebssystem unterstützt werden. PAE führt allerdings zu längeren Zugriffszeiten durch die virtuelle Speicherverwaltung, das Paging und für 32-Bit PCI-Zugriffe, die bei einer Begrenzung des Arbeitsspeichers auf 4 GiB nicht erforderlich wären.

Auf den meisten Rechnern ist PAE dennoch aktiviert, da nur mit eingeschalteter PAE das No-Execute-Bit genutzt werden kann. Dieses soll verhindern, dass böswillig eingeschleuster Maschinencode ausgeführt wird. Dazu werden bestimmte Bereiche im Arbeitsspeicher (darunter Stack, Heap und Datensegmente) als „nicht ausführbar“ markiert. Wenn ein Sprung an eine Adresse in einem solchen Bereich erfolgt, kommt es zu einer Schutzverletzung und das entsprechende Programm wird angehalten. Da einige nicht sauber programmierte Software dadurch nicht mehr funktionieren würde, ist es in Microsoft Windows standardmäßig nur für betriebssystemeigene Prozesse eingeschaltet. Dadurch wird die ursprünglich angedachte höhere Sicherheit nur für OS-eigene Funktionen erreicht.

BSD-Familie

FreeBSD unterstützt PAE in der 4.x-Serie ab 4.9, in der 5.x-Serie ab 5.1 und in allen 6.x-Versionen und allen späteren Versionen.<ref name="FreeBSD.org">PAE -- Physical Address Extensions. In: FreeBSD 15.0 – i386 Kernel Interfaces Manual. 8. April 2003. Auf FreeBSD.org, abgerufen am 19. März 2026 (englisch).</ref> Die PAE-Konfigurationsoption wird im Kernel benötigt. Ladbare Kernelmodule können nur in einen Kernel mit aktiviertem PAE geladen werden, wenn die Module mit aktiviertem PAE erstellt worden sind. Nicht alle Treiber unterstützen mehr als 4 GiB Arbeitsspeicher, in einem System mit aktiviertem PAE laufen solche Treiber nicht richtig. NetBSD sowie OpenBSD (bisher nur in -current) unterstützen PAE ebenfalls. Alle adressieren den gesamten 64-GiB-Adressraum.<ref name="FreeBSD.org" />

Haiku

Das Betriebssystem Haiku unterstützt PAE ab der Version Haiku R1 Alpha 3.<ref>R1/beta5 – Release Notes. In: Get Haiku! › R1/beta5. Haiku, 2026. Auf Haiku-OS.org, abgerufen am 19. März 2026 (englisch).</ref>

Linux

Der Linux-Kernel enthält ab der Version 2.3.23 vom 22. Oktober 1999 die volle PAE-Unterstützung. Seit 2009 ist PAE bei vielen Linux-Distributionen per Voreinstellung enthalten, weil PAE für das No-Execute-Bit benötigt wird.

Ein Patch von Mitte 2014 führte unter Linux den Kernel-Kommandozeilenparameter forcepae ein,<ref>Chris Bainbridge: [tip:x86/cpu] x86, cpu: Add forcepae parameter for booting PAE kernels on PAE-disabled Pentium M. In: Linux-Kernel-Mailingliste (LMKL.com). 20. März 2014, abgerufen am 19. März 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> der auf einigen Pentium-M- und Celeron-M-Prozessoren PAE aktiviert. Frühen Modellen mit Dothan-Kern und allen Modellen mit Banias-Kern fehlt die Angabe von PAE in deren CPUID, obwohl die Funktion im Prozessor vorhanden ist. Mitte 2014 endete die Unterstützung von Microsoft für Windows XP, gleichzeitig änderten viele Linux-Distributionen die Mindestanforderungen ihrer 32-Bit-Varianten auf „i686+pae“,<ref>[PATCH] x86: set Pentium M as PAE capable. (Mailingliste) In: lore.kernel.org. 2014, abgerufen am 19. März 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value), gesamte Diskussion).</ref> obwohl es teilweise Community-Kernel für ältere Systeme (i486 oder i586, ohne PAE) gibt. Mit „forcepae“ ließen sich viele Standard-Distributionen auch auf Systemen von rund 2004/2005 mit Pentium M bzw. Celeron M ohne Austausch des Kernels nutzen, beispielsweise auf ThinkPads oder Toughbooks.<ref>David Wolski: Xubuntu und Lubuntu mit uralten CPUs nutzen. In: Ratgeber › Software & Apps. PC-Welt, 22. Oktober 2014, abgerufen am 19. März 2026.</ref>

macOS

macOS für Intel-Macs unterstützt PAE und das NX-Bit ab der ersten Intel-Version, Mac OS X Tiger (Version 10.4.4) vom Januar 2006, auf allen von Apple unterstützten x86-Prozessoren. Modelle der Mac-Pro-Serie werden seit 2008 mit bis zu 64 GiB RAM ausgeliefert.

Solaris

Solaris unterstützt PAE ab Version 7.

Windows

PAE wird von Microsoft Windows ab Version 2000 (Professional und höher) und XP (alle Varianten) unterstützt und muss hierbei zumeist durch eine Bootoption aktiviert werden. Allerdings ist dabei bei den 32-bit-Desktop-Versionen auch mit aktiviertem PAE der maximal nutzbare Hauptspeicher auf 4 GB beschränkt. Dies wird zum einen damit erklärt, dass es wohl Teil der Vermarktungspolitik von Microsoft sei.<ref name="geoffchappell.com">Geoff Chappell: Licensed Memory in 32-Bit Windows Vista. In: Notes › Windows › License. 12. Mai 2023. Auf GeoffChappell.com, abgerufen am 19. März 2026 (englisch).</ref> Microsoft dagegen begründet diese Einschränkung damit, dass einige der verwendeten Gerätetreiber beim Zugriff auf Speicherbereiche jenseits der 4 GB Probleme bereiten würden.<ref name="markr200807">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Pushing the Limits of Windows: Physical Memory.] In: Mark’s Blog. Microsoft TechNet Blog, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 19. März 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Anwendungen können erweiterten Speicher je nach Hardware und Betriebssystem möglicherweise über Address Windowing Extension (AWE) nutzen. Je nach Windows-Version müssen eventuell zusätzliche Service-Packs eingespielt werden, es existieren auch einige inoffizielle Patches für 32-Bit Vista und Windows 7, die die Nutzung bis 64 GB ermöglichen.<ref name="readyfor4gb">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig 32位Vista/Win 7 4GB大内存补丁 ReadyFor4GB.] (deutsch: 32-Bit Vista/Win 7 – 4 GB großer Speicher-Patch ReadyFor4GB). In: 闲人小作. Deepxw Blogspot, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 19. März 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref name="8GBWin732bit">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Windows 7 32-bit with full 4 GB or 8 GB RAM support.] Unawave, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 11. Juli 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung </ref>

Andere CPU-Plattformen

Auf ARM gibt es ab ARMv7 die sogenannte Large Physical Address Extension, die einen ähnlichen Ansatz verfolgt und es ermöglicht, im 32-Bit-Modus bis zu 240 Bytes physischen Speicher anzusprechen.<ref>ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition. Kapitel B1.6, 9. April 2018. In: Documentation › Architectures › CPU Architecture › A-Profile › Armv7-A. ARM Limited, 2026. Auf ARM.com (PDF; 18,6 MB), abgerufen am 19. März 2026 (englisch).</ref>

Siehe auch

Einzelnachweise

<references />

<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang

Betriebsmodi

Real ModeProtected ModeVirtual 8086 ModeSystem Management ModeLong ModeCompatibility Mode

Befehlssatzerweiterungen

x87PAENXAMD64/Intel 64 (x64) ⬝ HTTVT-x/AMD-V/VIA VT3DNow!MMXSSESSE2PadLockSSE3SSSE3SSE4SSE4aSSE5F16CAVXCLMULAES-NIFMATSXBMIMPXSGXSMEFREDAPX

Vorlage:Klappleiste/Ende