總線仲裁
同一時刻只能有一個設備控制總線傳輸操作👱,可以有一個或多個設備從總線接收數據🗂。
將總線上所連接的各類設備按其對總線有無控制功能分為:
為什麼要仲裁?
總線作為一種共享設備,不可避免地會出現同一時刻有多個主設備競爭總線控制權的問題。
總線仲裁的定義:
多個主設備同時競爭主線控制權時,以某種方式選擇一個主設備優先獲得總線控制權稱為總線仲裁。
總線仲裁分類:
集中仲裁方式【鏈式查詢方式、計數器定時查詢方式🧏♀️👩🏽🦳、獨立請求方式】
分布仲裁方式
一、集中仲裁方式
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