In meinem Haupt- PC 8GB RAM sind eingebaut.
Dort kann ich mit Win7 x64, Win7 x32 oder Win XP booten und arbeiten.
Hat mich nun ein bischen unbefriedigt gelassen, das ich unter Win7 x32 nur 3,25GB Ram nutzen kann - die übliche Erklärung, 32Bit würden nicht weiter zählen können, konnte doch eigentlich nicht so recht stimmen, oder?
Wenn ich es mal überschlage, gehen 32Bit bischen weiter.
Naja, auf jeden Fall habe ich mal gesucht - und etwas gefunden.
Ich habe nun auch unter 32Bit meine kompletten 8GB RAM zur Verfügung!
Wie ich das bei mir gemacht hab, hab ich hier (samt Quelle) beschrieben:
http://www.juekirs.de/Dateien/RAM-Erweiterung_bei_Win7x32.pdf
Jürgen
Windows 7 4.528 Themen, 43.513 Beiträge
Hi!
Die Sache ist wirklich interessant. Der Wikipeda-Eintrag erklärt, warum das geht und wie es technisch gemacht wird: http://de.wikipedia.org/wiki/Physical_Address_Extension
Die CPUs (nicht jede CPU unterstützt das, aber seit einigen Jahren alle AMD und Intel CPUs) haben einen 36Bit-Breiten Adressbus. Damit können Sie in der Tat einen grössen Speicherbereich ansprechen. Pro Prozess und Task stehen aber weiterhin nur 4Gbyte Adressraum zur Verfügung. Die Erweiterung ist da offenbar sehr geschickt (und mit relativ wenig Aufwand) an die vorhandenen 32Bit-Architektur "angekoppelt" worden.
Wie immer ist die englische Wikipedia ausführlicher und erklärt auch, wie das im Detail in der CPU umgesetzt wird (ich muss aber zugeben, dass das bei mir hart an der Grenze liegt, was ich noch wirklich verstehe): http://en.wikipedia.org/wiki/Physical_Address_Extension
Das hat technisch etwas mit der Eigenart der CPUs zu tun, die in Ihrem Adressraum den Speicher quasi über eine Verlinkungstabelle frei "umordnen" können. (http://de.wikipedia.org/wiki/Seitentabelle)
Damit entfällt eigentlich die Möglichkeit Speicherbereiche "manuell" kopieren zu müssen, man kann sie einfach "umhängen".
PAE greift in diese Struktur ein und erweitert offenbar die Zugriffsmöglichkeit. Nach meinem Verständnis kann die CPU nun RAM aus einem grösseren Adressbereich in ihren interne 4GByte-Adressbereich einblenden. Vermutlich wirklich die einfachste und "billigste" Lösung um mehr als 4GByte RAM nutzen zu können, ohne die CPU komplett umbauen zu müssen.
Warum auch aktuelle 32Bit-Betriebssysteme den PAE-Mode nutzen können, soll an einer Schutzfunktion liegen, die CPUs seit einigen Jahren mitbringen. Die können einem Speicherbereich der als Datenspeicher dient so sperren, dass dieser Datenbereich nicht als Programmcode ausgeführt werden kann. Diese Funktion wird als "NX Bit" bezeichnet: http://de.wikipedia.org/wiki/NX-Bit
Dieses NX Bit ist offenbar in einem ungenutzten Bit der Speicherzeiger des PAE-Modes untergebracht, daher muss die CPU im PAE-Mode betrieben werden, wenn man diesen Schutz nutzen will. Das erklärt warum die aktuellen Windows-Versionen den PAE-Mode nutzen.
Warum nun der Speicher auf 4GByte begrenzt wird, erklärt das natürlich nicht. Ich hab aus älteren Berichten noch im Ohr, dass etliche Treiber auf PAE-Systemen, die auf WinXP-Technik basierten Probleme machten. (Müsste bei Rechnern mit Windows Server 2003 gewesen sein.)
Damals hat man vom PAE-Mode abgeraten.
Hier ein Hotline-Beitrag der c't zu diesen Problemen: http://www.heise.de/ct/hotline/Hakeliges-PAE-fuer-Grossraum-RAM-322504.html
Ob das heute immer noch zu Problemen führen kann? Ich persönlich glaube das MS die User zu den 64Bit-Varianten ziehen will. Da wäre dann die 4GByte-Beschränkung ein einfaches Mittel um die User in die richtige Richtung zu lenken.
Bis dann
Andreas