Introducción
El bus del sistema es el camino de comunicación entre dos o más dispositivos.
Es un medio de transmisión compartido, conecta múltiples dispositivos y todos pueden recibir la señal emitida por los demás.
Normalmente consta de varias líneas por las que pueden circular bits en paralelo, aunque en los últimos tiempos han aparecido nuevas técnicas como SATA que funcionan en modo serie.
Cada bus del sistema consta de entre 60 y 100 líneas que se dividen en tres grandes grupos:
Bus de datos
Formado por el conjunto de las líneas de datos, y cuya finalidad es transferir datos entre unos módulos y otros dentro del sistema.
Suele constar de 8, 16 ó 32 líneas (ancho de bus), lo que determina el número de bits que pueden circular en paralelo en un instante de tiempo.
Por este bus circulan tanto datos como instrucciones, y su anchura es determinante para el rendimiento del sistema, pues si las instrucciones tienen un ancho superior se debe acceder varias veces al módulo de memoria.
Cable IDE, un bus de datos muy extendido |
Bus de direcciones
Conjunto de líneas de dirección, que tiene como función principal seleccionar la fuente o el destino de la información que circula por el bus de datos.
El número de líneas determina la capacidad de direccionamiento de la memoria. Por ejemplo, un bus de direcciones de 8 bits podría direccionar como máximo 28 = 256 posiciones de memoria. Aunque esto es pura teoría porque existen algunos bits que deben ser usados para otros cometidos.
También es tarea de este bus direccionar los módulos de E/S.
Bus de control
Formado por las líneas de control, gobernando el funcionamiento de los demás buses, controlando la temporización y dando órdenes para controlar operaciones dentro del sistema, como pueden ser las de petición de interrupciones, o el otorgamiento del control del bus de datos.
Operaciones mediante bus
Si un módulo necesita enviar datos debe:
- Obtener el uso del bus
- Transferir los datos
Si lo que el módulo necesita es pedir datos a otro módulo debe:
- Obtener el uso del bus
- Transferir una petición de lectura al otro módulo mediante los buses de dirección y control
- Esperar a que el otro módulo responda afirmativamente y envíe los datos
Parámetros y elementos diferenciadores
Líneas dedicadas y no dedicadas
Líneas dedicadas están permanentemente realizando una función o a una serie de módulos del ordenador. Esta es la llamada dedicación funcional. Un ejemplo puede ser el uso de líneas diferentes para transferencia de datos y de direcciones, aunque esto no es totalmente necesario, pues podría primero identificarse la dirección buscada mediante un primer envío y una vez identificado pasar a tranferir los datos.
Existe otro tipo de dedicación, la dedicación física, que se refiere al uso de líneas de forma exclusiva por una serie de módulos, como el uso de un bus de E/S para interconectar los periféricos. Esto redunda en mayor rendimiento, pero por el contrario complica la estructura del sistema y redunda en un mayor coste.
Las líneas no dedicadas, evidentemente, no están abscritas a procesos o módulos concretos.
Arbitraje de líneas
Cuando más de un módulo desea obtener el control del bus se necesitará un método para decidir cual de ellos accede primero al control del mismo. Esto se conoce como métodos de arbitraje.
En el arbitraje centralizado existe un solo controlador del bus, siendo responsable de asignar tiempos de utilización a los diferentes módulos. Este controlador puede ser independiente o parte de la CPU.
En el arbitraje distribuido no hay un único controlador. Cada módulo posee lógica necesaria para acceder al bus y actúan de manera coordinada.
Temporización
Dos tipos:
- Síncrona: los sucesos están determinados por la existencia de un reloj, que divide las transmisiones en periodos iguales de tiempo (ciclo del bus o del reloj). Las operaciones comienzan al principio de un ciclo.
- Asíncrona:la ocurrencia de un suceso depende de la ocurrencia de otro suceso previo. Normalmente se nombra un dispositivo maestro que es el origina el suceso desencadenante en el dispositivo esclavo. Este modo de temporización es muy versátil, pues posibilita la conjunción de dispositivos rápidos y lentos.
Temporización asíncrona |
Conclusiones
Un ordenador está compuesto de muchos componentes de diferentes tipos en cuanto a estructura y función. El modo que posibilita la coordinación entre todos ellos es el bus del sistema, digamos que las carreteras internas del ordenador. Al igual que las carreteras, no todos los buses son iguales. Unos son más anchos o menos, más cortos o menos, y al igual que ellas poseen semáforos, señales, agentes... que son necesarios para regular el tráfico.
Los modos de funcionamiento y coordinación serán vistos en posteriores blogs. Este es una mera introducción a la interconexión mediante bus.
No hay comentarios:
Publicar un comentario