Physical Address Extension

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Physical Address Extension (PAE, engl. für Erweiterung (der) physischen Adressierung) ist eine technische Erweiterung aus dem Gebiet der Rechnerarchitektur. Mit PAE kann man im 32-Bit-Modus x86-kompatibler CPUs mehr physischen Arbeitsspeicher ansprechen als die 4 GiB, die man über ein 32-Bit-Adressregister erreichen kann. Der in einem Prozess nutzbare Speicher bleibt bei linearem Speichermodell („flat memory“) aber auf 4 GiB begrenzt. Das Verfahren wird bei Prozessoren ab Intel Pentium Pro und AMD Athlon eingesetzt. Spezielle Erweiterungen in der Paging-Einheit der CPU sorgen dafür, dass größere physische Adressen generiert werden können.

Unterstützung der Hardware[Bearbeiten]

Schematische Darstellung der Umsetzung von linearen in physische Adressen bei x86-kompatiblen CPUs im 32-Bit Protected Mode. Seitengröße: 4 KiByte, mit PAE.
Prozessor Adressleitungen adressierbarer Speicher
I386 bis Intel Pentium 32 4 GiB (kein PAE)
Intel Pentium Pro bis Intel Core 2 36 64 GiB
Intel Xeon 38 256 GiB
AMD Athlon 64 (K8) 40 1024 GiB = 1 TiB
AMD K10 Architektur 48 262.144 GiB = 256 TiB
theoretisches Limit von PAE 52 4.194.304 GiB = 4096 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 physikalische Adresse um. 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).

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 einem PD ansprechen kann.

Unterstützung der Betriebssysteme[Bearbeiten]

Für eine sinnvolle Nutzung muss PAE vom Betriebssystem unterstützt werden. PAE erfordert allerdings mehr Aufwand (Zeit) für die virtuelle Speicherverwaltung, das Paging und für 32-Bit PCI-Zugriffe, den man sich bei einer Begrenzung auf 4 GiB Hauptspeicher sparen könnte.

Auf den meisten Rechnern ist PAE dennoch aktiviert, weil man nur mit PAE das auf vielen Prozessoren vorhandene No-Execute-Bit nutzen kann. Es verhindert, dass Daten als Programm ausgeführt werden.

BSD-Familie[Bearbeiten]

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. 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.

Haiku[Bearbeiten]

Haiku unterstützt PAE seit der Version Haiku R1 Alpha 3.[1]

Linux[Bearbeiten]

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

Mac OS X[Bearbeiten]

Mac OS X für Intel Macs unterstützt PAE und das NX-Bit auf allen von Apple unterstützten CPUs (ab 10.4.4). Mac Pro werden aktuell mit bis zu 64 GiB RAM ausgeliefert.

Microsoft Windows[Bearbeiten]

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.[2] 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.[3]

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 bis 64 GB ermöglichen.[4][5]

Solaris[Bearbeiten]

Solaris unterstützt PAE ab Version 7.

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Release Notes: Haiku R1 Alpha 3 (18. Juni 2011)
  2. www.geoffchappell.com/notes/windows/license/memory.htm.
  3. Mark Russinovich: Pushing the Limits of Windows: Physical Memory. 21. Juli 2008. Abgerufen am 4. September 2013.
  4. 32位Vista/Win 7 4GB大内存补丁 ReadyFor4GB (Chinese) 26. April 2009. Abgerufen am 17. März 2011.
  5. Unawave: Windows 7 32-bit with full 4 GB or 8 GB RAM support. Abgerufen am 11. Juli 2010.