總線仲裁
同一時刻只能有一個設備控制總線傳輸操作,可以有一個或多個設備從總線接收數據🦸🏿。
將總線上所連接的各類設備按其對總線有無控制功能分為:
為什麼要仲裁?
總線作為一種共享設備,不可避免地會出現同一時刻有多個主設備競爭總線控制權的問題。
總線仲裁的定義👮🏿♂️:
多個主設備同時競爭主線控制權時,以某種方式選擇一個主設備優先獲得總線控制權稱為總線仲裁🍽。
總線仲裁分類👐🏽:
集中仲裁方式【鏈式查詢方式、計數器定時查詢方式、獨立請求方式】
分布仲裁方式
一、集中仲裁方式
1. 鏈式查詢方式
工作流程:
主設備發出請求信號;
若多個主設備同時要使用總線,則由總線控制器的判優、仲裁邏輯按一定的優先等級順序確定哪個主設備能使用總線🌯;
獲得總線使用權的主設備開始傳送數據。

“總線忙”信號的建立者是獲得總線控制權的設備
優先級🕦:離總線控制器越近的部件,其優先級越高🍢;離總線控制器越遠的部件💁♀️,其優先級越低。
2. 計數器查詢方式

結構特點👨🏽✈️:用一個計數器控制總線使用權,相對鏈式查詢方式多了一組設備地址線,少了一根總線響應線BG🪸;它仍共用一根總線請求線🟫。
優點:
計數初始值可以改變優先次序 。 計數每次從“0”開始,設備的優先級就按順序排列🚕,固定不變♤; 計數從上一次的終點開始👩🏼🦱,此時設備使用總線的優先級相等;計數器的初值還可以由程序設置🥚。
對電路的故障沒有鏈式敏感。
缺點:
增加了控制線數♊️。 若設備有n個,則需élog2nù +2條控制線
控制相對比鏈式查詢相對複雜。
3. 獨立請求方式

結構特點💒:每一個設備均有一對總線請求線 B R i BR_iBRi和總線允許線 B G i BG_iBGi。
優點🪑㊙️:
響應速度快,總線允許信號BG直接從控制器發送到有關設備,不必在設備間傳遞或者查詢。
對優先次序的控制相當靈活。
缺點:
控制線數量多🟠。若設備有n個,則需要2n+1條控制線。其中+1為BS線⛔,用于設備向總線控制部件反饋已經是否正在使用總線。
總線的控制邏輯更加複雜
4. 總結
“總線忙”信號的建立者是獲得總線控制權的設備

二🛀🏻、分布仲裁方式
特點:不需要中央仲裁器,每個潛在的主模塊都有自己的仲裁器和仲裁號🙋🏼♂️,多個仲裁器競爭使用總線🕺🏻。
當設備有總線請求時,它們就把各自唯一的仲裁號發送到共享的仲裁總線上🚾;
每個仲裁器將從仲裁總線上得到的仲裁號與自己的仲裁號進行比較;
如果仲裁總線上的號優先級高☝️,則它的總線請求不予響應,並撤銷它的仲裁號🎯;
最後,獲勝者的仲裁號保留在仲裁總線上。
鏈接:https://blog.csdn.net/weixin_43848614/article/details/126931510
作者🧑🏿🦳:何為xl