Diskussion:Physical Address Extension

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 6 Monaten von RokerHRO in Abschnitt Überarbeiten
Zur Navigation springen Zur Suche springen

Binärpräfix vs Dezimalpräfix[Quelltext bearbeiten]

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

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?[Quelltext bearbeiten]

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[Quelltext bearbeiten]

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

Ich habe die Grafiken mal in den Artikel eingefügt. Wichtig wäre eine Beschreibung zu jeder Grafik und zwar neben der Grafik, damit man dem Text zwecks leichterem Verständnis besser folgen kann. Alle Grafiken unter dem Fließtext bringen absolut nichts.
D.h. jeder dieser 4 Modi benötigt seinen eigenen Abschnitt. --93.229.163.76 16:24, 27. Okt. 2023 (CEST)Beantworten
Du hättest in deinen Grafiken übrigens noch eintragen können, wie viele Einträge pro page Directory Table, page Table und pages möglich sind. Das geht zwar
  • aus den Bits 22-31 = 10 Bits = 2^10 = 1024 Einträge für die page Directory Table,
  • den Bits 12 bis 21 = 10 Bits = 2^10 = 1024 Einträge für die page Table
  • und den Bits 0 bis 11 = 12 Bits = 2^12 = 4096 Einträge pro Page
hervor, aber wer das nicht weiß, dem wird das erst einmal so nicht auffallen.
Außerdem wird aus den Grafiken bei den PAE Modi allein so nicht klar, warum der Rechner nun mehr als 4 GiB RAM ansprechen können soll. Beim normalen Protected Mode ohne PAE ist die Rechnung noch klar, man nimmt die 1024 Einträge des page Directory Tables und multipliziert diese mit den 1024 Einträge der Page Table und das Ergebnis mit den 4 KiB Pages und somit erhält man 4 GiB. Also 2^10 * 2^10 * 2^12 = 4 GiB.
Bei den PAE Modi funktioniert das so aber nicht mehr, weil hier, ähnlich gerechnet, immer noch nur 4 GiB herauskommt.
2^2 * 2^9 * 2^9 * 2^12 = 4 GiB. Der einzige Hinweis bei PAE ist, dass die Einträge in den Page Directory Tables und Page Tables mit einer Größe von 64 Bit doppelt so breit sind und so mehr physischen RAM adressieren können. Warum sowohl im Page Directory Table als auch Page Table diese aber 64 Bit sein müssen, wird so nicht klar. Denn wenn der Directory Table nur auf einen von 2^10 Page tables verweist, dann müsste es eigentlich genügen dass nur im Page Table dann diese 64 Bit breite Adresse drin steht. --93.229.163.76 17:09, 27. Okt. 2023 (CEST)Beantworten

Bit = Byte?[Quelltext bearbeiten]

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[Quelltext bearbeiten]

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[Quelltext bearbeiten]

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[Quelltext bearbeiten]

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
Wenn man die 32 Bit Spalte liest, dann wundert einen doch erstmal, dass die 32 Bit Windowse Vista und Windows 7 trotz PAE nur 4GB ansprechen können. Der ursprüngliche Gedanke war ja mit 32 Bit CPUs mehr Speicher anzusprechen. Wenn ich diesen Link richtig verstehe hat PAE für 32 Bit Rechner nur bei den 32 Bit Varianten von Windows 2000, Windows XP und Server 2003 die Funktionalität, für es geschaffen wurde, nämlich mehr Speicher zu unterstützen:

http://msdn.microsoft.com/en-us/windows/hardware/gg487503 Des weiteren steht da, dass es die 64 Bit Varianten nicht unterstützen. Es mag ja sein, dass die Datenstrukturen auch im 64 Bit Modus so verwendet werden, das habe ich jetzt nicht nachgeprüft und gehe einfach davon aus das Du recht hast, aber dass da die Seitentabelle mehr Speicher unterstützen muss und man da an der Stufigkeit ansetzt ist ja klar. Ich würde es da auch nicht mehr PAE nennen, denn es ist da keine "Erweiterung" der CPU mehr wie bei den 32 Bit Prozessoren. Allgemein möchte ich sagen, dass die Tabelle mehr verwirrt als dass sie hilft. Das im normalen 32 Bit Modus bei 4 GiB Schluss ist, ist klar. Ich würde erstens nur 32 Bit Betriebssysteme aufnehmen und zweitens auch nur die, die mittels PAE mehr Speicher unterstützen und nicht die, wo der Speicher immer noch auf 4 GiB beschränkt ist oder PAE nur für das NX Bit genutzt wird, oder PAE nur für die 3. Pagingstufe verwendet wird. Eventuell könnte man auch noch 2 Spalten für diese Beiden Fälle hinzufügen. Aber so wie sie ist, ist die Tabelle einfach nur verwirrend. (nicht signierter Beitrag von Drausi (Diskussion | Beiträge) 13:04, 14. Aug. 2012 (CEST)) Beantworten

Adressleitungen[Quelltext bearbeiten]

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

Ist gefixt. Unklar ist allerdings, welche CPU wie viele physische Adressleitungen hat. Mein Intel Core2 scheint nur 36 zu haben, irgendwelche Xeons 38, alle 64-bit-fähigen AMD-CPUs wohl generell 40. Unklar ist nun nur noch, ob Linux oder Solaris auf CPUs mit >36 Adressleitungen auch mehr als 64 GiB RAM im PAE-Modus mitmacht. --RokerHRO 13:53, 27. Sep. 2010 (CEST)Beantworten

Link zu Unawave[Quelltext bearbeiten]

Wäre vielleicht ein Link zu Unawave angebracht? Gruß --Akapuma 10:54, 27. Mär. 2011 (CEST)Beantworten

Wozu? Damit Leute, die nicht bereit sind, für die Entfernung der RAM-Sperre Geld auszugeben (sprich: eine "höherwertige Version" von MS-Windows zu kaufen), das Lizenz- und Preismodell von MS umgehen können?
Man kann es nun gut oder schlecht finden, wenn ein Hersteller seine Software künstlich verkrüppelt oder für die unverkrüppelte Version einen höheren Preis verlangt. Aber wem das nicht passt, der kann halt diese Software nicht einsetzen! Preiswerte bis kostenlose Alternativen gibts ja nun zu hauf. Und die sind allesamt nicht künstlich verkrüppelt.
--RokerHRO 15:03, 27. Mär. 2011 (CEST)Beantworten
Mit dem Auslaufen des XP-Supports ist so eine abschätzige Kommerzialistenbemerkung wohl hinfällig; ein Hinweis, daß die 3GB-Kastration von Win-32 aus kommerziellen Gründen rein künstlich eingeführt wurde, gehört durchaus in den Artikel! --ProloSozz (Diskussion) 11:00, 1. Apr. 2014 (CEST)Beantworten

Welche Prozessoren haben KEIN und welche haben PAE?[Quelltext bearbeiten]

Im Hinblick auf das Support-Ende von Windows XP, wie auch darauf, daß die meisten Betriebssysteme heutzutage einen Prozessor verlangen, der PAE kann, wäre es angebracht, eine (möglichst vollständige) Liste der Prozessoren aufzuführen, die zum einen PAE können, zum anderen aber auch PAE nicht können; damit man nachschauen kann, ob der Prozessor, den man in seinem Rechner hat, mit einem OS zurechtkommt, das PAE-Kapabilität verlangt oder ob man auf ein OS in einer Version ausweichen muß, das ohne PAE auskommt. --ProloSozz (Diskussion) 10:58, 1. Apr. 2014 (CEST)Beantworten

Verschiebung zu "Physical-Address Extension" mit Bindestrich[Quelltext bearbeiten]

Wie ich sehe, gründet sich die Verschiebung auf ein AMD-Dokument. Entsprechende Intel-Dokumente verwenden allerdings "Physical Address Extension" ohne Bindestrich, und die haben's schließlich erfunden, ebenso en:Physical Address Extension. Auch nach englischer Grammatik ist die alte Schreibweise die richtige, ich bin deshalb gegen die Verschiebung und für die bisherige Schreibweise. --Zac67 (Diskussion) 18:58, 12. Feb. 2016 (CET)Beantworten

Ich weiß, ist mir inzwischen auch aufgefallen, dass Intel das anders schreibt als AMD. *seufz* Sehr ärgerlich.
Ich bin kein englischer Muttersprachler, aber meines Wissens die Schreibung mit Bindestrich von der englischen Grammatik her jedenfalls richtig: Es ist ja eine "Extension" der "physical addresses" und keine "physische Adresserweiterung". Siehe en:Hyphen#Varied_meanings --RokerHRO (Diskussion) 10:32, 15. Feb. 2016 (CET)Beantworten
Es ist ein Fachbegriff, und (laut en:Physical Address Extension) AMD ist so ziemlich die einzige Firma, die das "korrekt" mit Bindestrich schreibt. In Fachliteratur, und beim 20* so großen "Rivalen" Intel, der's erfunden und benannt hat, wird's praktisch überall ohne Bindestrich geschrieben.
In der deWP ist die englische Grammatik schnurz-piep-egal. Sondern, welche Schreibweise in (deutschsprachiger) Literatur verbreitet ist.
Leider haben Tante Google und auch Bing ihre eigene Herangehensweise an Bindestriche, sodass eine vergleichende Trefferzahl-Prüfung leider nicht möglich ist. Schätzen würde ich 100:1 für "ohne Bindestrich", hab' ich in 30 Jahren Computer-Erfahrung so noch nicht gelesen...
Der Bindestrich muss weg!
--arilou (Diskussion) 16:10, 25. Jul. 2018 (CEST)Beantworten
Tja, leider... ist nicht immer alles richtig, aber es ist dennoch richtig, wenn es verbreitet its und angewendet wird.
Eine schnelle Google-Books-Suche (nur deutsche Bücher) kommt zum selben Ergebnis: der Bindestrich muss weg...
Andreas 12:02, 26. Jul. 2018 (CEST)Beantworten
Nachtrag: Es kann ja trotzdem in der Einleitung gesagt werden, dass der Begriff "selten auch mit Bindestrich verwendet wird - 'Physical-Address Extension' - was theoretisch die korrekte Schreibweise gemäß engl. Grammatik" sei. Oder so ähnlich. Vielleicht auch mit Nennung von AMD. Aber im Lemma muss dat wech!
--arilou (Diskussion) 15:56, 26. Jul. 2018 (CEST)Beantworten
Grammatikalisch ist der Bindestrich tatsächlich korrekt (compound adjective), das benutzt aber praktisch niemand. --Zac67 (Diskussion) 18:58, 26. Jul. 2018 (CEST)Beantworten

Verschoben, sowie Bindestrich erwähnt. --arilou (Diskussion) 10:27, 30. Jul. 2018 (CEST)Beantworten

Überarbeiten[Quelltext bearbeiten]

Die Struktur des Artikels gehört komplett überarbeitet. Als erstes sollte es einen Abschnitt geben, in dem erklärt wird, wie genau PAE und die 4 Adressierungsarten funktioniert. Erst danach kann man angeben, welche Hardware und welches Betriebssystem das unterstützt. Momentan fehlt also die wichtigste Information im Artikel, die Funktionsweise. Die anderen Angaben, welche Hardware und welches Betriebssystem PAE unterstützen sind ja wohl eher nebensächlich und sollten nicht das groß des Artikels ausmachen. --93.229.163.76 16:21, 28. Okt. 2023 (CEST)Beantworten

Das ganze ist eigentlich schon in Paging#Reales_Beispiel:_IA32-Architektur beschrieben worden. Dort wurden auch die Grafiken bereits eingebunden und ausgiebig erläutert. Das hier alles noch einmal zu wiederholen, wäre eine unnötige Dopplung, ohne Mehrwert. --RokerHRO (Diskussion) 11:14, 30. Okt. 2023 (CET)Beantworten