總線競爭

總線競爭 （ Bus contention ） 也稱總線爭用 ， 是計算機設計中總線的不良狀態 — — 總線上的多個設備同時嘗試在總線上放置值 。 大多數總線架構要求其設備遵循精心設計的仲裁協議 ， 以使競爭的可能性可以忽略不計 。 但是 ， 當總線上的設備有邏輯錯誤 、 製造缺陷或超出其設計速度運行時 ， 仲裁可能會故障 ， 從而導致競爭 。 在具有可編程內存映射的系統上控制映射的寄存器被寫入非法值後 ， 也可能發生競爭 。 競爭可能導致錯誤的操作 ， 並且在異常情況下會損壞硬件 — — 例如總線接線的熔斷 。 有時會通過緩衝內存映射設備的輸出應對總線競爭 。 但是 ， 已經觀察到一個設備的高阻抗仍會干擾其他設備的總線值 。 目前來說 ， 沒有標準的解決方案來應對內存設備 （ 如EEPROM和SRAM ） 之間的數據總線爭用 。 大多數小型計算機系統經過精心設計避免系統總線上的總線爭用 。 它們使用一個稱爲的設備控制哪個設備在目前可以驅動總線 ， 因此總線競爭在正常運作中永遠不會發生 。 例如令牌環等部分網絡也被設計爲避免總線競爭 ， 因此總線競爭在正常運作中永遠不會發生 。 大多數網絡被設計爲容忍網絡上偶爾的總線爭用 。 CAN總線 、 ALOHAnet 、 以太網等在正常運作中偶爾會遇到總線爭用 ， 但會使用一些協議 （ 例如 、 具有碰撞檢測的載波偵聽多路訪問 、 自動重發請求 ） 最小化爭用時間 ， 並重新發送在中被破壞的數據 。