Protocolos de arbitraje

La demanda para utilizar el bus en un computador puede provenir de diferentes unidades, no sólo de la CPU. Por ejemplo, si el computador tiene E/S por DMA, éste demandará el uso del bus cuando tenga el control de la operación con la memoria.

Los procesadores de E/S necesitan acceder al bus no sólo para realizar las transferencias de datos por DMA, sino también para leer su programa de canal. Por supuesto, si el sistema es multiprocesador (más de una CPU con memoria compartida) los candidatos al uso del bus aumentan.

Para garantizar que en todo momento sólo una unidad acceda al bus, se utilizan los protocolos de arbitraje. Los protocolos de arbitraje organizan el uso compartido del bus, estableciendo prioridades cuando más de una unidad solicita su utilización y garantizando, sobretodo, que el acceso al bus es realizado por un solo master.

Existen dos grupos de protocolos de arbitraje, los centralizados y los distribuidos. En los primeros existe una unidad de arbitraje, el árbitro del bus, encargado de gestionar de forma centralizada el uso del bus.

El árbitro puede ser una unidad físicamente independiente o estar integrado en otra unidad, por ejemplo, la CPU. Por el contrario, en los protocolos distribuidos no existe ninguna unidad especial para la gestión del bus. Esta se realiza de forma distribuida entre las unidades de acceso.

Examinaremos en los siguientes apartados diferentes protocolos de arbitraje, tanto centralizados como distribuidos.

Fuente: Estructura de Computadores, Facultad de Informática, UCM