匯流排仲裁方法及常用仲裁算法
仲裁方法
匯流排仲裁方法可分靜態優先權算法和動態優先權,固定時間片,先來先服務等方法,當某台處理機發出匯流排請求時,首先檢查匯流排狀態是否為“忙”,若為“忙”,則等待;等到不“忙”時,發出匯流排請求信號,經仲裁後,得到匯流排回響信號,才可以占用匯流排,與目的部件通信。匯流排仲裁常用硬體實現,並允許在一個匯流排通信過程內對下一個匯流排請求予以仲裁。有兩種方法可提高匯流排方式的系統效率。一種是採用優質高頻同軸電纜來提高匯流排的傳輸速率,另一種是設定多條雙向匯流排來減少訪問匯流排的衝突機率,但增加了系統的複雜性。
仲裁算法
(1)靜態優先權算法:它為每個連到匯流排上的處理機(或計算機模組)分配一個唯一的固定優先權。當多個處理機同時請求使用系統匯流排時,仲裁器使優先權高的申請者使用匯流排。通常用串列連線方式確定優先權,因而越靠近仲裁器的處理機,它的優先權就越高。這算法的優點是算法簡單,易實現。缺點是優先權低的處理機將很會很少有機會使用匯流排。
(2)平等算法:通常以輪轉方式將匯流排按固定大小的時間片依次供各處理機使用。常用於同步匯流排。該算法的優點是算法較簡單且能保證各處理機有均等機會使用匯流排,缺點是均等待時間較長。此外,若所輪到的處理機不用匯流排時,將造成匯流排頻寬的浪費。
(3)動態優先權算法:這是一種根據匯流排使用情況和相應規則,能動態地改變連線到匯流排線上的多處理機的優先權。例如近期最少使用的LRU算法,它將最高的優先權分配給在最長時間間隔內未使用匯流排的處理機。循環菊花鏈(RDC-Rotating Daisy Chain)算法,則根據離最後一次使用匯流排的處理機所處位置的遠近分配優先權。它將匯流排準用線按某一方向接成閉環,剛使用匯流排的處理機的優先權最低,而離它越近的處理機的優先權越高。該算法的優點是兼顧了前兩種算法的優點,既有較短的平均等待時間,並可使系統中的各處理機有均等機會使用匯流排。缺點是控制邏輯較為複雜。
(4)先來先服務算法:它不是按優先權選擇主控器,因而具有最好的均等性,該算法是性能最好的仲裁算法,但實現困難。該算法的作用只提供一種標準以衡量其他算法好壞。
上述的各種仲裁算法,通常用集中方式實現,即統一由一個裁器實現仲裁算法。此時對於匯流排的請求和允許使用信號可採用如下三種實現方式:一是請求線共享,而允許使用線則用串列菊花鏈方式連線。二是使請求和允許線都採用分離獨立的線。三是採用前兩種混合方式。
上述各種仲裁算法也可採用分布方式實現。此時的仲裁硬體被分布到各個處理機中。
它的工作方式如下:每個潛在匯流排主控器分配一個唯一的優先號,提出申請的主控器將自己的優先號送往共享請求/有效線進行邏輯或操作,得到一個合成優先號,然後提出申請的各個主控器將自己的優先號與合成號比較。比合成優先號小的申請者將自動撤消申請,這樣剩下獲得匯流排使用權的必將是具有最高優先號的處理機。分散式仲裁算法的優點是有較高的可幕性。分散式仲裁器的工作過程如下:首先,通過請求線接收來自各處理機發來的使用匯流排請求;然後,由仲裁器加以仲裁併以串列連結或並行分離方式向選中的處理機在匯流排準用線上發出匯流排有效信號;最後,由選中處理機通過匯流排忙控制線向其他處理機表明匯流排已被占用。當主控處理機使用匯流排傳送信息後便撤銷匯流排忙信號,此後,仲裁器便可再去回響選擇其他處理機對匯流排的請求。
匯流排標準
多處理機匯流排的發展趨向是實行標準化,已有一些匯流排標準支持多處理機系統,常用VME匯流排、 Multibus II匯流排等。前者以異步方式傳送信息,後者則以同步方式傳送信息。當用匯流排結構互連多處理機時,應儘量採用匯流排標準。如因需要必須採用專用匯流排時,也應通過匯流排適配器與標準匯流排相連,為此,各種按匯流排標準設計的外圍設備才能方便地與多處理機系統相連。
標準匯流排一般都帶有仲裁器,如VME匯流排仲裁器採用集中式結構,而 Multibus II和Futurebus匯流排仲裁器則採用分散式結構。這些標準匯流排一般都支持優先和均等混合仲裁算法,以適應多處理機系統需要。對外圍部件使用優先仲裁算法,而對其他處理機則使用均等仲裁算法,以使各處理機有較均等機會使用系統匯流排。
要使一個主存能為CPU處理器所共享,就應將主存分為多個模組,並為CPU和主存模組間提供更多通路,這樣不但可以增加頻寬,還可以允許多個並行處理請求。縱橫交叉互連方式可以較好地滿足這一方面的要求。
優缺點
優點
系統硬體成本最低且最簡單,每個處理機的物理接口、定址、判優和分時邏輯線路與單處理機系統仍然相同。
通過增、刪功能模組可方便地改變系統硬體配置。
缺點
全部存儲訪問都要經過匯流排,所以全系統的速度受到匯流排工作周期的限制,因而可接處理機數量不能太多。
系統以增加模組方式進行擴充會降低整個系統的吞吐率。
這種互聯方式的系統效率較低。