Bus de direcciones

De El Museo de los 8 bits
Saltar a: navegación, buscar
Diagrama de bus backplane como extensión del bus del microprocesador donde se grafican los buses de direcciones, de datos, y de control, que van desde la CPU a la RAM, ROM, E/S y otros.

El bus de dirección (o direcciones) es un canal del microprocesador totalmente independiente al bus de datos donde se establece la dirección de memoria del dato en tránsito. El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n el tamaño máximo en bytes del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bytes, son necesarias al menos 8 líneas, pues 2^8 = 256. Un sistema con un bus de direcciones de 32 bits puede direccionar 232 (4,294,967,296) direcciones de memoria. Si cada posición de memoria tiene un byte, el espacio de memoria direccionable es de 4 GiB. Adicionalmente pueden ser necesarias líneas de control para señalar cuando la dirección está disponible en el bus. Esto depende del diseño del propio bus.

Implementación

Los primeros procesadores utilizaron un cable para cada bit del ancho de direcciones. Por ejemplo, un bus de direcciones de 16 bits con 16 cables físicos que componen el bus. Cuando los busees se hicieron más anchos y más largo, este enfoque se convirtió caro en términos del número de pines de chips y pistas en la placa madre. Comenzando con el Mostek 4096 DRAM, multiplexar direcciones implementado con multiplexores se hizo común. En un esquema de dirección de multiplexado, la dirección se envía en dos partes iguales en los ciclos de bus alternos. Esto reduce a la mitad el número de señales del bus de direcciones necesarios para conectarse a la memoria. Por ejemplo, un bus de direcciones de 32 bits puede ser implementado mediante el uso de 16 líneas y el envío de la primera mitad de la dirección de memoria, seguida inmediatamente por la segunda mitad.

Buses multiplexados

Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de dirección y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de dirección y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cual de las dos funciones está activa.

Las direcciones de memoria

Las direcciones son números naturales (en hexadecimal) que indican la posición de los datos dentro de la memoria principal o del espacio de direcciones de la unidad de entrada/salida. Las direcciones son generadas por la CPU, que es quien decide a qué dato se debe acceder en cada momento.