Mecanismos de Arbitraje y Transferencia en Buses de Sistemas Informáticos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,02 KB

Diseño y Control de Buses

Arbitraje del Bus: Gestión del Acceso Múltiple

Un bus puede tener varios dispositivos maestro que ejerzan el control del mismo. Es habitual que más de un dispositivo maestro necesite el control en un instante dado, por ello se requiere un método que determine quién controlará la transmisión.

El mecanismo de arbitraje determina de forma unívoca qué dispositivo maestro puede realizar el control del bus en cada instante de tiempo. El árbitro del bus ejercerá la función de arbitraje. Este árbitro podrá ser un dispositivo específico del bus, un procesador o estar distribuido entre los maestros.

Este árbitro debe garantizar la imparcialidad, respetando las prioridades y asegurando el acceso a todos los dispositivos al bus.

Protocolo de Arbitraje: Fases de Control

El arbitraje requiere líneas específicas en el bus (generalmente 2 o 3) y sigue un protocolo que consta de 4 fases:

  1. Solicitud del bus por el maestro: Se activa la señal BusReq.
  2. Concesión del bus: Se activa la señal BusGrant.
  3. Utilización del bus: Se mantiene activa la señal BusBusy y se liberan las señales anteriores.
  4. Liberación del bus: Se desactiva la señal BusBusy.

Según la implementación, los árbitros pueden ser Centralizados o Distribuidos.

Arbitraje Centralizado en Estrella

  • Arbitrajecentralizado: Un controlador único determina el dispositivo con acceso.
  • El bus tiene tantas líneas de solicitud y concesión como dispositivos maestros.
  • El árbitro puede usar diferentes algoritmos de decisión para peticiones simultáneas (FIFO, prioridad, etc.).
  • Presenta retardos de propagación de señal pequeños.
  • Desventajas:
    • No es escalable (imposible aumentar el número de maestros fácilmente).
    • Requiere un número elevado de líneas físicas.
  • PROTOCOLO: El maestro realiza una petición para usar el bus (BusReq). El árbitro detecta la solicitud y, si el bus está libre, concede el uso al dispositivo prioritario activando la señal de autorización (BusGrant).

Arbitraje Centralizado en Serie

  • Arbitrajecentralizado: Un controlador determina el dispositivo con acceso.
  • El bus tiene una línea de solicitud que puede ser activada por varios dispositivos. El árbitro detecta si se activa, pero no cuántos la activan.
  • El árbitro concede el bus mediante una línea única, y la prioridad está determinada por la posición (el dispositivo más cercano al árbitro tiene mayor prioridad).
  • Desventajas:
    • No garantiza la imparcialidad.
    • El proceso de arbitraje es más lento.
  • PROTOCOLO: El árbitro detecta la solicitud y, si el bus está libre, concede su uso. El dispositivo receptor accede al bus si realizó la petición; si no, propaga la señal de autorización al siguiente dispositivo en la cadena.

Proceso clave: Llega la petición, y si el bus está libre, se realiza la concesión.

Arbitraje Rotativo (Daisy Chain)

  • Arbitraje distribuido: La responsabilidad de arbitraje se reparte entre diferentes maestros conectados al bus (cada maestro tiene una lógica de control).
  • Existe una señal que une a todos los árbitros para determinar quién puede usar el bus.
  • La prioridad la tiene el maestro que libera el bus (o el siguiente en la cadena).
  • Desventajas:
    • No se puede establecer una política de prioridad fija.
    • Un maestro puede necesitar esperar para usar el busaunque este se encuentre libre.
  • PROTOCOLO: El árbitro detecta la señal de petición del maestro conectado. Espera a que la señal de prioridad se active y, si el bus está libre, concede su uso. Cuando el maestro retira su petición, libera el bus y propaga la señal de prioridad al siguiente árbitro.

Si un árbitro tiene la señal de prioridad activa pero no tiene una petición pendiente, propaga la señal de prioridad al siguiente árbitro.

Tipos de Transferencia en el Bus

  • Transferencias Básicas: Siempre implementadas en el bus. Consisten en la lectura y escritura de datos cuyo tamaño máximo es el ancho del bus.
  • Otras transferencias pueden involucrar varios datos o varias operaciones en una sola transacción.

Ciclo de Bus con Operación Atómica

Se refiere a transferencias que implican más de una operación (como el acceso a una dirección y la lectura/escritura de datos) sobre el bus en un único ciclo. La operación completa es indivisible.

Transferencia en Bloque (Ráfaga)

Implica accesos a datos de mayor longitud que el ancho físico del bus, por lo que requieren varias fases de datos dentro de un ciclo o secuencia de ciclos. Es una transferencia múltiple. Otros casos incluyen la lectura y escritura repetida en la misma dirección.

Rendimiento del Bus

El rendimiento del bus se define como la cantidad de información que transmite por unidad de tiempo (medido en MB/s). Suele referenciarse como ancho de banda. Para determinar el ancho de banda máximo, necesitamos conocer:

  • Palabra (ancho del bus): Cantidad máxima de bits que se pueden transferir en un único acceso.
  • Tiempo empleado en cada fase (en un bus síncrono, esto se mide en ciclos de reloj).
  • Relación entre las distintas fases del bus: Esto incluye el posible solapamiento, la existencia de fases variables (como la latencia, que se incrementará según los ciclos de reloj de espera necesarios para completar la transferencia) y la repetición de fases (como ocurre en las transferencias múltiples, donde la latencia y los datos se repiten en función del número de palabras transmitidas).

Entradas relacionadas: