La prima cosa da capire è che i moderni sistemi informatici utilizzano la memoria virtuale. Puoi avere indirizzi virtuali a 32 bit per le applicazioni pur avendo indirizzi fisici maggiori di 32 bit.
La seconda cosa da capire è che lo spazio di indirizzamento fisico viene utilizzato per varie cose, in particolare per il ram e perhipherals mappati memoria. Le schede grafiche in particolare hanno spesso aree mappate con memoria di grandi dimensioni. Il risultato è che se hai solo 4 GB di spazio di indirizzi fisici utilizzabili puoi finire con significativamente meno di 4 GB di RAM utilizzabile. Circa 3,5 GB utilizzabili sono tipici, ma ho visto sistemi con un minimo di 2,5 GB.
Su un PC per supportare più di 4 GB di spazio di indirizzi fisici viene utilizzato un meccanismo chiamato PAE. Perché questo funzioni diverse cose sono necessarie.
- La CPU deve supportarlo.
- Il chipset deve supportarlo.
- Il BIOS deve supportarlo.
- Il sistema operativo deve supportarlo.
Le CPU supportano PAE da anni, questo non è un problema.
Molti chipset meno recenti erano limitati a 4 GB di spazio di indirizzamento fisico. I chipset Intel IIRC per laptop hanno ottenuto il supporto per oltre 4 GB di spazio di indirizzi con la generazione "Santa Rosa" nel 2007. Non sono sicuro dei chipset desktop, ma mi aspetto che sia più o meno nello stesso periodo. Chipset per workstation / server ovviamente hanno ottenuto il supporto molto prima.
I BIOS Afaict lo supportano principalmente se il set di chip lo fa. Non mi sorprenderebbe se ci fossero delle eccezioni.
Il sistema operativo è spinoso. Linux e Windows supportano entrambi PAE da anni. Sfortunatamente da quando Windows XP Service Pack 2 MS ha limitato artificialmente lo spazio di indirizzi fisico a 4 GB. Sostengono di averlo fatto a causa di driver difettosi, i cinici sospettavano di averlo fatto per costringere le persone ad acquistare le edizioni del server.
In Windows XP questo è inserito nel kernel e praticamente non può essere annullato. Tuttavia nelle versioni successive può essere aggirato con alcuni piccoli hack al kernel. Vedi https://wj32.org/wp/ per i dettagli.