Estructuras de interconexión

Estructura de los buses

Qué es un bus?

  • Es un camino de comunicación entre dos o más dispositivos.
  • Se trata de un medio de transmisión compartido.
  • Al bus se conectan varios dispositivos, y cualquier señal transmitida por un dispositivo está disponible para que los otros dispositivos conectados al bus puedan acceder a ella.

Cómo está constituido un bus?

  • Usualmente está constituido por varios caminos de comunicación, o líneas.
    • Representan señales binarias representadas por 1 y por 0.
    • Un dato de 8 bits puede transmitirse mediante 8 lineas del bus.

Qué es un bus del sistema?

  • Es aquel que se encarga de conectar los componentes principales del computador (procesador, memoria, E/S)

Qué son las líneas de datos?

  • Proporcionan un camino para transmitir datos entre los módulos del sistema.
  • Estas lineas conforman el bus de datos.
  • Pueden ser datos propiamente dichos, y también instrucciones.

Qué son las líneas de dirección?

  • Se utiliza para designar la fuente o el destino del dato situado en el bus de datos.
  • Generalmente se utilizan para direccionar los puertos de E/S.

Qué son las líneas de control?

  • Es el más sencillo y el que menos lineas necesita.
  • Controlar el acceso y el uso de las líneas de datos y de direcciones.
  • Como las lineas de datos y de direcciones son compartidas por todos los componentes, se debe controlar el uso de ellas.
  • Líneas más comunes en el control
    • Escritura en memoria (Memory write): hace que el dato del bus se escriba en la posición direccionada.
    • Lectura de memoria (Memory read): hace que el dato de la posición direccionada se sitúe en el bus.
    • Escritura de E/S (I/O write): hace que el dato del bus se transfiera a través del puerto de E/S direccionado.
    • Lectura de E/S (E/S read): hace que el dato del puerto de E/S direccionado se sitúe en el bus.
    • Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado en el bus.
    • Petición de bus (Bus request): indica que un módulo necesita disponer del control del bus.
      • Hago una petición de que se libere el camino de un bus (o pasa a una queue).
    • Cesión de bus (Bus grant): indica que se cede el control del bus a un módulo que lo había solicitado.
      • Luego de la petición del bus, se le indica que está libre.
    • Petición de interrupción (Interrupt request): indica si hay una interrupción pendiente.
      • Pido interrumpir un bus.
    • Interrupción reconocida (Interrupt ACK): Señala que la interrupción pendiente se ha aceptado.
      • La petición de interrupción fue otorgada.
    • Reloj (clock): se utiliza para sincronizar las operaciones.
    • Inicio (reset): pone los módulos conectados en su estado inicial.

Cómo es la jerarquía de buses en una arquitectura tradicional?

  • Hay un bus local que conecta el procesador a una memoria caché y al que pueden conectarse también uno o más dispositivos locales.
  • El controlador de E/S conecta la caché no solo al bus local sino tomabién al bus de sistema
    • Es posible conectar controladores de E/S directamente al bus de sistema, pero una solución más eficiente es utilizar uno o más buses de expansión. La interfaz del bus de expansión regula la transferencia de datos entre el bus el sistema y los controladores del bus de expansión.

Qué sucede con los buses en arquitecturas de altas prestaciones?

  • La arquitectura tradicional muestra su debilidad a medida que los dispositivos de E/S ofrecen prestaciones mayores.
  • Se propone un bus de alta velocidad que está estrechamente integrado al resto del sistema, y requiere un solo adaptador (bridge) entre el bus del procesador y el bus de alta velocidad.