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