Im Prinzip ist das technisch machbar. Bereits der Pentium 1 unterstützte einen virtuellen Adressraum von 64TB (32 Bit), sofern ich die Befehlssätze richtig im Kopf habe (sorry, ich bin zu faul jetzt mein Buch dazu rauszukramen). Jeder 32-Bit-Prozess kann Speicher im Bereich von 0..32 Bit => 4GB adressieren, wobei diese 4GB irgendwo innerhalb des virtuellen Adressraums liegen können, und der virtuelle Adressraum wiederum kann mehr oder weniger beliebig auf realen Speicher adressiert werden. Wenn mich nicht alles täuscht lässt es die Architektur dabei theoretisch auch zu, physikalischen Speicher oberhalb der 4GB zu adressieren. Problematisch wird es halt, wenn nicht mehr alle Daten in die 4GB, die dem einzelnen Programm zur Verfügung stehen, hineinpassen. Dann muss segmentiert werden, und das ständige nachladen bspw. von einer Festplatte oder ständiges umschreiben der Deskriptortabelle (wo steht wo die Daten wirklich stehen) kostet natürlich extrem viel Zeit.
Allerdings ist das alles mehr oder weniger graue Theorie, weil insbesondere Windows bis (meine ich) inkl. Windows XP ohnehin nicht dazu in der Lage war, mehr als 3GB Hauptspeicher sinnvoll zu nutzen. Das lag aber nicht an den mangelnden Fähigkeiten der Hardware sondern eher an der Unwilligkeit von Redmond, in etwas zu investieren was sowieso keiner hat (mehr als 2GB RAM waren ja zu Zeiten als Windows XP kam eher unüblich, von daher schon logisch).