¿De qué manera el uso de la memoria con más bits le permite reducir el bus de direcciones?

0

Si está utilizando una CPU para dirigir un módulo de memoria de 2MB, entonces desde 1MB = 2 20 y 2 · 2 20 = 2 21 = 2MB, necesitas 21 líneas de dirección.

Si en su lugar usa un módulo de memoria de 2MB de 16 bits, puede eliminar la línea de dirección 0. ¿Por qué?

    
pregunta 200ok404notfound

2 respuestas

4

Con la memoria de 16 bits de ancho, una lectura de la dirección xxx0 le proporciona dos bytes: el byte en la dirección xxx0 y el byte en la dirección xxx1. Así que las direcciones que terminan en "1" son superfluas; solo lees la dirección xxx0, nunca xxx1. Ahora, dado que el último bit de dirección siempre será cero, podemos soltarlo y terminar con una dirección 1 bit más corta.

    
respondido por el stevenvh
3

Una forma de pensar esto es que el módulo de memoria consta de un conjunto de bloques y que la dirección identifica un bloque específico en la memoria.

Entonces, para la memoria con un bloque de 8 bits, una dirección definiría 1 byte, y en el caso de la memoria de 2MB necesitaría las 21 líneas de dirección para 2 ^ 21 bloques direccionables. Una dirección de '4' apunta al 4to byte en la memoria.

Si, en cambio, tiene un bloque de 16 bits, una dirección definiría 2 bytes y solo habría 2 ^ 20 bloques direccionables. Una dirección de 4 puntos a los bytes 7 y 8 en la memoria.

Dicho esto, sospecho que cualquier disminución en las líneas de dirección se compensa con la duplicación de las líneas de datos.

    
respondido por el CoderTao

Lea otras preguntas en las etiquetas