總線仲裁的基本概念:同一時刻只能有一個設備控制總線傳輸操作,可以有一個或多個設備從總線接收數據。
將總線上所連接的各類設備按其對總線有無控制功能分為:
主設備:獲得總線控制權的設備。
從設備:被主設備訪問的設備,只能響應從主設備發來的各種總線命令。
為什么要仲裁?
總線作為一種共享設備,不可避免地會出現同一時刻有多個主設備競爭總線控制權的問題。
總線仲裁的定義:
多個主設備同時競爭主線控制權時,以某種方式選擇一個主設備優先獲得總線控制權稱為總線仲裁。
總線仲裁分類:
集中仲裁方式(鏈式查詢方式、計數器定時查詢方式、獨立請求方式)和分布仲裁方式
鏈式查詢方式:
原理:
1.主設備發出請求信號;2.若多個主設備同時要使用總線,則由總線控制器的判優、仲裁邏輯按一定的優先等級順序確定哪個主設備能使用總線;3.獲得總線使用權的主設備開始傳送數據。
優先級:離總線控制器越近的部件,其優先級越高、離總線控制器越遠的部件,其優先級越低。
“總線忙”信號的建立者是獲得總線控制權的設備
優點:
鏈式查詢方式優先級固定。只需很少幾根控制線就能按一定優先次序實現總線控制,結構簡單,擴充容易。
缺點:
硬件電路的故障敏感,並且優先級不能改變。當優先級高的部件頻繁請求使用總線時,會使優先級較低的部件長期不能使用總線。
計數器定時查詢方式 :
原理::
當總線控制器收到總線請求信號時,判斷總線空閑時,計數器開始計數,計數值通過設備地址線發向各個部件。當地址線的計數值與請求使用控制設備的地址一致時,該設備獲得總線控制權。同時,中止計數器的計數及查詢。
結構特點:用一個計數器控制總線使用權,相對鏈式查詢方式多了一組設備地址線,少了一根總線響應線BG;它仍共用一根總線請求線。
優點:
1.計數初始值可以改變優先次序(計數每次從0開始,設備的優先級就按順序排列,固定不變;計數從上一次的終點開始,此時設備使用總線的優先級相等;計數器的初值還可以由程序設置
2.對電路的故障沒有鏈式敏感
缺點:
1.增加了控制線數;2.控制相對比鏈式查詢相對復雜
獨立請求方式:
原理:
當總線控制器按一定的優先次序決定批准某個部件的請求時,則給該部件發送總線響應信號。當總線上的部件需要使用總線時,經各自的總線請求線發送總線請求信號,在總線控制器中排隊。
結構特點:每一個設備均有一對總線請求線和總線允許線
優點:
1.響應速度快,總線允許信號直接從控制器發送到有關設備,不必在設備間傳遞或者查詢。2.對優先次序的控制相當靈活。
缺點:
1·控制線數量多:其中+1為BS線,其用處為,用於設備向總線控制部件反饋己經使用完畢總線。
2.總線的控制邏輯更加復雜
分布仲裁方式
特點:不需要中央仲裁器,每個潛在的主模塊都有自己的仲裁器和仲裁號,多個仲裁器競爭使用總線。
當設備有總線請求時,它們就把各自唯一的仲號發送到共享的仲裁總線上;每個仲裁器將從仲裁總線上得到的仲裁號與自己的仲裁號進行比較;如果仲裁總線上的號優先級高,則它的總線請求不予響應,並撤銷它的仲裁號;最后,獲勝者的仲裁號保留在仲裁總線上。