Contención de autobús


La contención de bus es un estado indeseable en el diseño de computadoras en el que más de un dispositivo en un bus intenta colocar valores en él al mismo tiempo.

La contención de bus es el tipo de contención de telecomunicaciones que ocurre cuando todos los dispositivos de comunicación se comunican directamente entre sí a través de un único canal compartido, y contrasta con la "contención de red" que ocurre cuando los dispositivos de comunicación se comunican indirectamente entre sí, a través de conexiones punto a punto. a través de enrutadores o puentes. [1] [ verificación fallida ]

La contención del bus puede provocar un funcionamiento erróneo, un consumo excesivo de energía y, en casos inusuales, daños permanentes en el hardware, como quemar un MOSFET . [2]

La mayoría de las arquitecturas de bus requieren que los dispositivos que comparten un bus sigan un protocolo de arbitraje cuidadosamente diseñado para que la probabilidad de contención sea insignificante. [3] Sin embargo, cuando los dispositivos en el bus tienen errores lógicos, defectos de fabricación o se conducen más allá de sus velocidades de diseño, el arbitraje puede fallar y puede resultar en una disputa. También pueden surgir conflictos en los sistemas que tienen un mapeo de memoria programable cuando se escriben valores ilegales en los registros que controlan el mapeo. La mayoría de los sistemas informáticos a pequeña escala están cuidadosamente diseñados para evitar la contención del bus en el bus del sistema . Utilizan un solo dispositivo, llamado árbitro de bus ., que controla qué dispositivo puede conducir el bus en cada instante, por lo que la contención del bus nunca ocurre en el funcionamiento normal. La solución estándar para la contención de bus entre dispositivos de memoria, como EEPROM y SRAM , es el bus de tres estados [2] con un árbitro de bus.

Algunas redes, como Token Ring , también están diseñadas para evitar la contención de bus, por lo que la contención de bus nunca ocurre en el funcionamiento normal.

La mayoría de las redes están diseñadas con hardware lo suficientemente robusto como para tolerar la contención de bus ocasional en la red. CAN bus , ALOHAnet , Ethernet , etc., todos experimentan contención de bus ocasional en funcionamiento normal, pero usan algún protocolo (como acceso múltiple con prevención de colisiones , acceso múltiple con detección de portadora con detección de colisiones o solicitud de repetición automática ) para minimizar los tiempos que se produce la contención y para volver a enviar los datos que se corrompieron en una colisión de paquetes .