Конфликт на шине — нежелательное состояние в компьютерной архитектуре , когда несколько устройств на шине пытаются одновременно поместить на нее значения.
Конфликт на шине — это вид телекоммуникационного конфликта , который возникает, когда все взаимодействующие устройства взаимодействуют друг с другом напрямую через один общий канал, и противопоставляется «сетевому конфликту», который возникает, когда взаимодействующие устройства взаимодействуют друг с другом косвенно, через соединения точка-точка через маршрутизаторы или мосты. [1] [ проверка не пройдена ]
Конфликт на шине может привести к ошибочной работе, избыточному потреблению энергии и, в необычных случаях, к необратимому повреждению оборудования, например, к перегоранию полевого МОП-транзистора . [2]
Большинство архитектур шин требуют, чтобы устройства, совместно использующие шину, следовали протоколу арбитража, тщательно разработанному для того, чтобы сделать вероятность конфликта незначительной. [3] Однако, когда устройства на шине имеют логические ошибки, производственные дефекты или работают за пределами своих проектных скоростей, арбитраж может выйти из строя и может возникнуть конфликт. Конфликт может также возникнуть в системах с программируемым отображением памяти , когда недопустимые значения записываются в регистры, управляющие отображением. Большинство маломасштабных компьютерных систем тщательно спроектированы, чтобы избежать конфликта шины на системной шине . Они используют одно устройство, называемое арбитром шины , которое контролирует, какому устройству разрешено управлять шиной в каждый момент времени, поэтому конфликт шины никогда не возникает при нормальной работе. Стандартным решением конфликта шины между устройствами памяти, такими как EEPROM и SRAM , является трехсостоянная шина [2] с арбитром шины.
Некоторые сети, такие как Token Ring , также спроектированы так, чтобы избегать конфликтов на шине, поэтому при нормальной работе конфликтов на шине никогда не происходит.
Большинство сетей спроектированы с использованием достаточно надежного оборудования, чтобы выдерживать случайные конфликты на шине в сети. Шина CAN , ALOHAnet , Ethernet и т. д. время от времени сталкиваются с конфликтами на шине в нормальном режиме работы, но используют какой-либо протокол (например, множественный доступ с предотвращением коллизий , множественный доступ с контролем несущей и обнаружением коллизий или автоматический запрос на повторение ) для минимизации времени возникновения конфликтов и повторной отправки данных, поврежденных в результате коллизии пакетов .