Estructuras de Interconexión y Buses de Sistema
Las líneas que interconectan los módulos funcionales de un computador son las estructuras de interconexión.
Las estructuras de interconexión permiten el envío de información entre las distintas unidades funcionales del computador.
El diseño de la estructura dependerá de los intercambios que deban realizarse entre módulos.
Tipos de Transferencias entre Módulos
Transferencias de la CPU
El procesador lee instrucciones y datos, y escribe datos procesados.
Conexiones necesarias:
- Direcciones de acceso.
- Entrada y salida de datos, y entrada de instrucciones.
- Señales para controlar el resto del computador.
- Puede recibir señales de interrupción.
Transferencias de Memoria
Leen y escriben datos.
Conexiones necesarias:
- Entrada y salida de datos.
- Módulo de memoria de N palabras.
- Operaciones de lectura y escritura con señales que indican el tipo de operación a realizar.
Transferencias Módulos E/S (Entrada/Salida)
Internamente funcionan como una memoria y externamente comunican datos.
Conexiones necesarias:
- Entrada y salida de datos internos y externos.
- El módulo E/S puede generar interrupciones.
- Dirección de puertos del dispositivo y señales de lectura y escritura.
Es necesario fijar los tipos de transferencia que soportará la estructura de interconexión.
Las instrucciones de los procesadores proporcionan accesos a memoria y dispositivos E/S:
- Memoria – CPU: La CPU lee una instrucción o dato de memoria.
- CPU – Memoria: La CPU escribe un dato en memoria.
- Módulo E/S – CPU: La CPU lee datos de un periférico a través del módulo E/S.
- CPU – Módulo E/S: La CPU envía datos a un dispositivo periférico a través del módulo E/S.
El Bus de Sistema
Un bus es un medio de transmisión compartido entre dos o más dispositivos.
- Cualquier señal en el bus está disponible para todos los dispositivos conectados.
- Dos dispositivos no pueden transmitir al mismo tiempo.
Ventajas y Problemas del Uso de Buses
Ventajas
- Versatilidad para añadir o intercambiar periféricos.
- Bajo coste, ya que se utiliza un camino de datos común.
Problemas
- Limitación del rendimiento de memoria y E/S, ya que todas las transferencias pasan por el bus.
- Posibilidad de colisión entre datos.
Estructura del Bus de Sistema
El bus de sistema está constituido por un conjunto de líneas que oscila entre 50 y 100. Cada línea tiene un significado o función. Existen tres tipos principales de líneas, además de las de alimentación:
- Líneas de datos: Comunican información, instrucciones y datos.
- Líneas de direcciones: Transmiten direcciones.
- Líneas de control: Señales de control que gestionan la transferencia.
- Puede haber líneas de alimentación (energía para los módulos).
Líneas de Datos
Son el camino para transmitir información entre módulos.
- El número de líneas determina la anchura, que define cuántos bits se pueden transmitir al mismo tiempo.
- La anchura determina las prestaciones del sistema.
Fórmula de transferencias:
Transferencias = Anchura / Tamaño Instrucción
Líneas de Direcciones
Designan la fuente o el destino del dato en las líneas de datos.
- El número de líneas determina la capacidad máxima de memoria del sistema.
- Las líneas también direccionan los puertos E/S.
Líneas de Control
Conjunto distinto de señales para controlar el acceso y uso de las líneas de datos y direcciones.
- Las señales de control transmiten órdenes o información de temporización entre módulos.
- Las señales de órdenes especifican las operaciones a realizar en el bus para transmitir información.
- Las señales de temporización indican la validez de datos y direcciones.
Modo de Funcionamiento del Bus
El modo de funcionamiento del bus depende del dispositivo que se conecte:
- Maestro: Controla el acceso al bus y solicita acciones de los esclavos.
- Esclavo: Ejecuta la acción solicitada por el maestro.
- Árbitro: Decide, si hay más de un maestro, cuál debe controlar el bus en la transferencia.
Ciclo de Bus
Las operaciones en un bus son iniciadas por un maestro. La duración de la operación es un ciclo de bus. Un ciclo de bus tiene cinco fases:
- Arbitraje: Obtención del uso del bus por parte del maestro.
- Direccionamiento: El maestro coloca la dirección y las señales que indican la operación a realizar.
- Latencia: Espera hasta que el esclavo completa la acción.
- Datos: El dato se coloca en el bus por el dispositivo origen y es recogido por el dispositivo destino. Además, se colocan las señales para indicar que el dato ha sido transferido.
- Finalización: Cambio de señales para indicar el fin del envío.
Las fases se desarrollan en el orden indicado.
Limitaciones y Diseño de Buses
Si se conecta un gran número de dispositivos al bus, sus prestaciones disminuyen debido a:
- Mayor retardo de propagación y tiempo de acceso al bus.
- El bus puede convertirse en un cuello de botella.
- Los módulos conectados tienen distintas necesidades en cuanto a latencia y ancho de banda.
Actualmente se utilizan los buses de forma jerárquica, colocando los dispositivos más rápidos cerca del procesador. Para cambiar entre buses se utilizan bridges (puentes).
Decisiones de Diseño y Prestaciones
Las prestaciones de un bus dependen de las decisiones de diseño:
- Limitación de velocidad máxima por factores físicos: longitud de conexiones (retardo de señales) y número y tipo de dispositivos conectados (potencia).
- Compromiso entre número de transferencias, número de dispositivos a conectar y ancho del bus.
- Análisis de los tipos de dispositivos que se conectarán, ya que pueden ser muy distintos en latencia y ancho de banda.
Los elementos que intervienen en el diseño de un bus son:
- Ancho del bus.
- Tipo y uso de las líneas del bus.
- Temporización.
- Arbitraje del bus.
- Tipos de transferencias soportadas.
Estos parámetros se utilizan para determinar las prestaciones del bus.
Clasificación de Líneas del Bus
Las líneas de los buses pueden ser del tipo:
- Dedicadas: Asignadas a una única función.
- Multiplexadas: Dependiendo de la fase del ciclo u operación, transportan distintos tipos de información o conectan distintos componentes.
Ventajas y Desventajas de las líneas multiplexadas:
- (+) Menos líneas físicas.
- (-) Más lento y circuitería compleja.
Según la función de las líneas del bus pueden tener:
- Dedicación física: Uso de múltiples buses, cada uno asociado a un tipo de módulo.
- Dedicación funcional: Mismas líneas para distintas funciones en distintas transferencias o ciclos.
Temporización del Bus
La temporización coordina los eventos en el bus:
- Síncrona: Gobernada por un reloj que genera las señales de control del bus.
- Asíncrona: Varias señales de control establecen un protocolo entre emisor y receptor.
Buses Síncronos
Los eventos comienzan al principio de un ciclo de reloj y cada ciclo tiene un significado en función de la operación solicitada.
Ventajas:
- Implementación sencilla.
- Gran velocidad y poca circuitería.
Desventajas:
- Todos los dispositivos operan a la misma velocidad.
- Puede haber problemas con el sesgo del reloj.
Buses Asíncronos
Requieren un protocolo basado en una serie de señales, cada una con un significado específico. No disponen de señal de reloj, sino que los eventos son consecuencia de las señales del protocolo.
Ventajas:
- Permiten conectar una gran cantidad de dispositivos con distintas necesidades, velocidades y prestaciones.
Desventajas:
- Más lentos y requieren más lógica.