Estoy confundido con una situación en la que hay 4 GB de espacio de direcciones de CPU y tengo 4 GB de memoria RAM.
Ahora es posible asignar estos 4 GB completos de memoria RAM al espacio de direcciones de la CPU y, de ser así, ¿dónde se asignarían los registros de los periféricos en el espacio de direcciones de la CPU?
¿Existe alguna limitación sobre la cantidad de memoria RAM que se puede asignar al espacio de direcciones de CPU de 32 bits?
Respuesta1
Creo que estás en el camino correcto y básicamente ya has respondido tu pregunta. Una CPU de 32 bits puede direccionar 4.294.967.296 ubicaciones de memoria. 4 GB de RAM son un total de 4.294.967.296 bytes, entonces, ¿cómo puede la CPU acceder a toda esa memoria y aún tener espacio de direcciones para acceder al hardware (los registros no están asignados a ubicaciones de memoria)? Bueno, no puede. Simplemente ignora parte de la RAM y asigna las direcciones que ignora a E/S. Es por eso que nunca verás 4BG completos de RAM en una máquina/sistema operativo de 32 bits.