giovedì 14 maggio 2009

Ecco perchè i sistemi a 32 Bit non leggono 4Gb di Ram

I processori x86 a 32 bit indirizzano la memoria con, appunto puntatori a 32 bit. Questo significa
che la massima quantità di memoria indirizzabile è 232 B = 4294967296 B = 4 GB.
Apparentemente quindi 4 GB di RAM dovrebbero essere visibili; perché allora spariscono?
Il punto è che lo spazio d'indirizzi fisico del processore (quello a cui fa riferimento in ultima istanza
quando deve accedere a della memoria) non comprende solo la RAM, ma riserva anche un certo
spazio per diverse periferiche che richiedono di essere mappate in memoria, ad esempio la scheda
video, le periferiche PCI, il BIOS, eccetera. Di conseguenza lo spazio di indirizzi disponibile per la
RAM è di 4 GiB a cui va sottratta la parte impiegata per le periferiche, che hanno la precedenza
sulla RAM.
In ultima analisi, quindi, la RAM sparita non viene vista perché lo spazio di indirizzi a 32 bit, in
parte occupato da indirizzi riferiti a periferiche, non è sufficiente ad indirizzarla tutta.

Nessun commento: