Zum Inhalt springen

Diskussion:Physical Address Extension

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. August 2010 um 11:08 Uhr durch Arilou (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Letzter Kommentar: vor 14 Jahren von Arilou in Abschnitt Adressleitungen

Binärpräfix vs Dezimalpräfix

- um mehr als 4 GiB Arbeitsspeicher benutzen zu können

sind das nicht 4 GB? Bei Arbeitsspeicher bekommt man doch wirklich die Größe in dezimal, also GB? (nicht signierter Beitrag von 213.95.35.26 (Diskussion) Uncle Pain 16:41, 31. Jan. 2008 (CET))Beantworten

Nein, im Arbeitsspeicher-Metier werden meines Wissens grundsätzlich Binärpräfixe benutzt. Wenn dir also jemand nen 1-GB-Speicherriegel verkauft, meint er eigentlich einen 1-GiB-Speicherriegel. Ebenso liegt die 32-Bit-Adressraumgrenze bei 4 GiB, nicht bei 4 GB. --Uncle Pain 16:41, 31. Jan. 2008 (CET)Beantworten

Sinn von PAE?

Also wenn ich das so lese:

"... (PAE, engl. für Erweiterung (der) physischen Adressierung) ist eine technische Erweiterung aus dem Gebiet der Rechnerarchitektur. Sie ermöglicht es, mehr Arbeitsspeicher anzusprechen als durch die Wortbreite des verwendeten Mikroprozessors festgelegt...."

dann bin ich sehr erstaunt über diese "technische Erweiterung", die ja wirklich "Hi-Tec" der Superlative darstellen muß!

Die "Wortbreite" der CPU: bitte mal DEFINIEREN, ob da jetzt die Datenbus oder Adressbus-Breite gemeint sein soll! Macht ja überhaupt keinen Unterschied!

Ich jedenfalls kann mich nur an meinen guten alten Commodore 64 erinnern: Die darin arbeitende CPU hatte einen Datenbus mit 8 Bit und einen Adressbus mit 16 Bit. Man hatte zwar nur max. 256 (2 hoch 8) verschiedene CPU-Befehle/Daten-Werte zur Hand, konnte aber getrost 65536 (2 hoch 16) verschiedene Speicher-Adressen ansprechen. Der Datenbus hat eben mit dem Adressbus in direkter Weise nicht wirklich was zu tun, jedenfalls nicht bei dieser CPU aus dem Jahre Schnee. Und das alles ging ganz ohne "PAE" und sonstiger "superintelligenter, moderner CPU-Technologie"... Aber "moderne" Prozessoren sind ja sicher viel besser und ausgeklügelter... ... was man im Artikel bestimmt mal wissenschaftlich exakt ausdokumentieren wird.

Gehört einfach mal dazu gesagt finde ich. Didi / 18.3.2008

PAE ist im Grunde eine Idee, mehr Speicher auf x86-System nutzen zu können als eigentlich möglich, jedoch ohne die Architektur zu verändern (damit bleibt man also kompatibel).
Mit "Wortbreite" ist die Breite der Adressregister gemeint, denn diese sollten letztlich ja die (32-Bit-)Adressen aufnehmen können. PAE ist eine Möglichkeit, trotz dieser 32-Bit-Grenze mehr Speicher ansprechen zu können: Man spendiert der CPU einfach ein paar Bits mehr für die Adressleitung und ergänzt (meines Wissens) den Befehlssatz geschickt, um die hinzugekommenen 4 Bit sinnvoll und schnell ansprechbar zu machen. Da aber im Grundgedanken nichts an den 32-Bit-Registern geändert wird, ergibt sich die Limitierung, dass die einzelnen Prozesse (die ja eigene logische Speicherbereiche haben, siehe Virtuelle Speicherverwaltung) jeweils nur maximal 4 GiB sehen und benutzen können, denn zum einen dürfen diese PAE nicht voraussetzen, damit sie kompatibel bleiben, zum anderen sind die PAE-Befehle meines Wissens nur im Kernel Mode nutzbar. Insgesamt kann das System nun aber mehr Speicher ansprechen (eben 64 GiB wegen des 36 Bit breiten Adressbusses).
Dass dein C64 64 KiB Speicher ansprechen konnte, verwundert kaum, hat(te) er doch auch 16-Bit-Register und einen 16-Bit-Adressbus. Der C128 nutzte übrigens Bank Switching, eine ziemlich unflexible und hässliche Technik.
Der Artikel sollte auf jeden Fall detaillierter sein als bisher, es wird leider nichts über die konkrete Umsetzung gesagt. --Uncle Pain 23:19, 18. Mär. 2008 (CET)Beantworten
Didi, der Sinn von PAE ist im Artikel doch erwähnt. Ich habe nun mal klargestellt, dass es PAE nur für x86-kompatible Prozessoren gibt. (Andere Architekturen mögen vergleichbare Funktionen haben, dort heißen sie aber meines Wissens nicht PAE.)
Was vermisst du denn nun genau? Deine Sprache klingt unnötig polemisch, ohne dass du konkret aufzählst, was dich am Artikel stört bzw. was fehlt oder was falsch dargestellt würde. --RokerHRO 08:51, 19. Mär. 2008 (CET)Beantworten

Grafiken

Ich habe mir mal die Mühe gemacht, darzustellen, wie die CPU mit und ohne PAE lineare Adressen in physische Adressen umwandelt. Im 32-Bit-Protected Mode kann das auf 4 verschiedene Arten geschehen. Diese kann man nun in den Text einbauen und erläutern.

--RokerHRO 12:53, 20. Mär. 2008 (CET)Beantworten

Bit = Byte?

Roker, du meinst das 2^36 Byte = 64GiB sind. Das is natürlich korrekt. Ferner sagtest du aber, dass die WORTBREITE eines Prozessors (also: 32 BIT oder 64 BIT) und der maximal addressierbare RAM-Speicher in direktem Zusammanhang stehen. Das würde ich nun bitte von dir erklärt wissen: Wieso rechnest du mit 36 BYTE, wenn Prozessoren doch mit 32 BIT (aktuell natürlich 64) rechnen? Das ist ein nicht marginaler Unterschied, und zwar im Faktor 8:

Wo liegt nun mein Fehler? Wieso setzt du Bit mit Byte gleich? Wieso soll das die Ursache für den 3GB-RAM-Bug sein? Ich bitte um detaillierte Aufklärung, denn mein bisheriges Digitaltechnik und Assembler-Wissen widerspricht deinen Aussagen doch ziemlich ... wenn wir bestimmte Werte in einem zu kleinen Register nicht mehr speichern können, so setzen wir den letzten Eintrag einfach als relative Addressierung mit Verweis auf den Beginn einer zweiten Liste. Offensichtlich übersehe ich da so einiges, ich bitte um Klärung

Ja. Der Prozessor addressiert an jeder der 2^36 Adressen 1 Byte, somit kann er 2^36 Byte adressieren. --RokerHRO 17:28, 26. Apr. 2008 (CEST)Beantworten
Und wieso 36, und nicht 32, entsprechend den 32Bit?? Übrigens kann man Adressen nicht adressieren, du meinst wohl "Alle 2^36 Listeneinträge eines Prozessors sind jeweils 1 Byte lang/gross" , oder?
Alle x86-kompatiblen Intel-CPUs ab PentiumPro haben eben 36 statt 32 Adressleitungen. Und um diese oberen 4 Adressleitungen, die das Generieren von Adressen jenseits des 4-GiB-Adressraums erlauben, muss man eben PAE benutzen. PAE wurde genau dafür beim PentiumPro eingeführt. Steht aber doch auch alles so bereits im Artikel.
Natürlich werden keine Adressen adressiert, sondern es werden die Bytes an jenen Speicheradressen adressiert. Genau das schrieb ich aber auch. --RokerHRO 20:07, 26. Apr. 2008 (CEST)Beantworten

PAE != AWE

PAE und AWE ist nicht das selbe. Mit AWE kann man in einem Programm mehr als 4GB Hauptspeicher nutzen. --Deabyte 19:38, 25. Sep. 2008 (CEST)Beantworten

Ist inzwischen korrigiert worden. So gut? --RokerHRO

PAE Langsamer

Ist die benutzung von PAE langsamer? (nicht signierter Beitrag von 80.128.196.177 (Diskussion | Beiträge) 02:58, 20. Okt. 2009 (CEST)) Beantworten

Was soll langsamer sein? Und vor allem: Langsamer als was? Natürlich ist ein 3stufiger Lookup erstmal aufwändiger als ein 2stufiger. Aber da die PDP-Table im 32-Bit-Modus eh nur max. 4 Einträge enthält und diese komplett in 4 eigenen Registern in der CPU zwischengespeichert werden, ist es in der Praxis nicht langsamer als das 2stufige Paging ohne PAE. Die zuletzt benutzten Einträge in Page Directories und Page Tables werden ebenfalls in eigenen Buffern in der CPU zwischengespeichert, so dass ihre Inhalte ohne langsamen RAM-Zugriff sofort zur Verfügung stehen. Je nach Implementierung mag der Verwaltungsaufwand in der Speicherverwaltung des Betriebssystems mit PAE größer sein, muss aber nicht. --RokerHRO 10:21, 20. Okt. 2009 (CEST)Beantworten

64-Bit-Windows

Für den x86_64-Modus ist PAE generell erforderlich, daher ist die Spalte "64-Bit-Modus mit PAE" irreführend. Sollte die Spalte nicht lieber ganz raus? --RokerHRO 18:50, 13. Apr. 2010 (CEST)Beantworten

Nein, für den 64Bit-Modus ist PAE nicht erforderlich, sondern unnötig. Zumindest, wenn man die Definition dieses Artikels verwendet, nach der PAE eine Mechanismus ist, um die Limitierung eines 32Bit Systems zu überwinden, die ein 64Bit System gar nicht hat. Unterm Strich bleibt die Schlussfolgerung aber dieselbe, dass die Spalte für 64Bit irreführend ist und rausfliegen sollte. -- 82.113.121.35 18:18, 11. Mai 2010 (CEST)Beantworten
Jain. PAE erweitert das normale 2-Level-Paging im 32-Bit-Modus um ein 3. Level. Im 64-Bit-Modus wird dieses dann nochmal erweitert, auf 4 Level. Die mit PAE eingeführten Datenstrukturen werden aber auch im 64-Bit-Modus weiter verwendet und zwar zwingend. --RokerHRO 21:15, 11. Mai 2010 (CEST)Beantworten

Adressleitungen

Aktuelle CPUs haben nicht mehr 36 Adressleitungen, sondern deutlich mehr (siehe http://www.forum-3dcenter.org/vbulletin/archive/index.php/t-394392.html ): AMD 48 Bit Adressraum, 40 Adress-Pins; Intel: "Itanium 2 hat einen 50 Bit Addressbus." ; Stand: 2007 , aktuelle Xeon-Rechner kann man mit 96 GiB Ram (pro CPU-Sockel) kaufen, was ebenfalls mind. 37 Adressleitungen notwendig macht. --arilou 11:08, 10. Aug. 2010 (CEST)Beantworten