Bus de direcciones

El bus de direcciones establece el registro de la memoria que debe ser afectado en un proceso de lectura o escritura (R/-W), habilitando a través de una combinación específica de sus bits uno solo de los registros de la memoria y obviamente dejando bloqueado los demás.

En este sentido, se establece que el direccionamiento de la memoria depende de la cantidad de bits disponibles para su control. La imagen muestra cómo para poder direccionar cuatro posiciones de memoria se necesitan dos bits de control. Esta es otra de las aplicaciones de los números binarios a través de la lógica digital que permite determinar la cantidad de bits de control necesarios para su control.

Figura 1. Memoria de 1 Kb.

Al suponer que se debe direccionar 1 KB de memoria, es necesario establecer cuántos bits se necesitan para poder obtener 1024 combinaciones diferentes que permitan habilitar o bloquear cada uno de los registros direccionables, si observamos la tabla de potencias de 2 observamos que 210 representa 1024, lo cual significa que con 10 bits es posible obtener las 1024 combinaciones que necesitamos.

20 = 1 26 = 64/td> 212 = 4.096 218 = 262.144
21 = 2 27 = 128 213 = 8.192 219 = 524.288
22 = 4 28 = 256 214 = 16.384 220 = 1.048.576
23 = 8 29 = 512 215 = 32.768 221 = 2.097.152
24 = 16 210 = 1.024 216 = 65.536 222 = 4.194.304
25 = 32 211 = 2.048 217 = 131.072 223 = 8.388.608

En la imagen se muestran los datos en dos nibbles que, como ya se ha visto, representa un Byte. Además se observa la dirección de cada Byte que habilita cada posición de memoria, mientras las demás están bloqueadas. Así se determina el criterio que la dirección identifica de manera única a cada posición de memoria.

Si se necesita establecer la longitud del bus de direcciones de una memoria de 4 MB, medida promedio en un computador actual, se debe volver a consultar la tabla de potencias de 2 y verificar la potencia de 223 que es posible determinar que corresponde con 8.388.608; efectivamente son 4MB. Entonces el bus de direcciones debería tener una longitud de 23 bit;, es decir que 23 de los contactos o patillas del procesador estarán destinados al bus de direcciones.

20 = 1 26 = 64/td> 212 = 4.096 218 = 262.144
21 = 2 27 = 128 213 = 8.192 219 = 524.288
22 = 4 28 = 256 214 = 16.384 220 = 1.048.576
23 = 8 29 = 512 215 = 32.768 221 = 2.097.152
24 = 16 210 = 1.024 216 = 65.536 222 = 4.194.304
25 = 32 211 = 2.048 217 = 131.072 223 = 8.388.608