一種快速仲裁器實現方法及裝置的製作方法
2023-06-25 22:58:51 1
專利名稱:一種快速仲裁器實現方法及裝置的製作方法
技術領域:
本發明與計算機接口總線,嵌入式設備,自動化控制領域相關。在多主設備的系統中,必須對各個主設備提供仲裁授權信號。仲裁器在多主設備系統中充當仲裁授權信號的產生者,根據優先級產生授權信號。
背景技術:
在許多系統中都存在著大量主設備訪問一個公共資源的現象。公共的資源可以是一塊共享的內存,網絡交換機,特定的狀態機,或者是一個複雜的計算元件。仲裁器需要決定資源如何在多個主設備之間被共享。當一個仲裁器被放進設計中,需要考慮許多因素。主設備和仲裁器之間的接口需要有合適的大小和速度。傳統方法的仲裁器通過狀態機的形式實現,每個周期只有一個主設備有優先權,如果擁有令牌的主設備沒有發出請求,則它的下一個發出請求的主設備可以被響應。這種方法只適合在少量主設備的低速場合運用。隨著主設備的增加,狀態機會變得異常複雜,難於管理。在有N個主設備系統中,每一輪循環的時間都是固定的,至少需要N個周期。使得系統的效率很低,無法再高速多主設備的場合運用。
發明內容
這項發明可運用於實現任意數目主設備的系統中,只需要更改參數就可以任意的增加和減少輸入和輸出的數目。可以實現一種快速高效的仲裁器,每次輪詢都以最少的周期完成。將一串以獨熱碼方式編碼的二進位碼流代表當前被授權的主設備。比如,「00000100」(最左邊的位代表#7主設備,最後邊的位代表#0設備)代表#2主設備被授權。在輪換進度安排表中獲取下一個被授權的主設備。通過「請求屏蔽」獲取下一個真正需要被授權的主設備。下一個主設備只會從這些需要被授權的設備的提取。假設低位具有更高的優先權,以左循環的方式輪詢。給出下面的兩個例子說明,快速仲裁器的實現方式。例I :當前授權「00000100」屏蔽位「01100000」下一個授權「00100000」正常情況下,#3和#4應該在#2之後被授權,但是他們沒有發出請求,所以#5號被授權。例2:當前授權「01000000」屏蔽位「00001010」下一個授權「00000010」因為以左循環的方式輪詢,所以#1主設備有更高的優先權。
具體實施例方式輸入信號Req (請求信號),輸出信號Grant (授權信號)。為了實現優先仲裁器,計算Req (請求信號)的補碼,並將結果與Req信號按位相與。grant = req&(( req)+l)(I)結果最低是I的位有最高的優先權。 為了實現輪詢仲裁器,我們需要保存之前的Grant信號,即GrantM。我們使用這個信號區屏蔽已經授權過的信號req_s = req& ( ((grantM_l) | grantM))(2)通過(I)式獲得最低的有效位。實現快速仲裁器的最後一步是在Grant與Grant_s之間選擇。如果所有的授權信號都已經被屏蔽,則選擇grant,否者選擇Grant_s。grant_s = req_s&( (req_s)+l)(3)
權利要求
1.一種快速仲裁器實現方法及其裝置,有著結構簡單,仲裁周期短,可以靈活的增加和減少主設備數量的優勢,該技術特徵是可以通過指定參數實現增減輸入接口數目。
2.通過二進位補碼方式實現優先仲裁器,該發明的技術特徵是需要通過二進位補碼的方式實現優先仲裁器。
全文摘要
一種快速仲裁器實現方法及其裝置屬於計算機接口總線,嵌入式設備,自動化控制領域。該技術主要解決適應高速,多設備的場合的問題,每次輪詢都能以最少的周期完成。通過二進位補碼的方式實現快速高效的仲裁器。去除了龐大的狀態機模式,結構簡單易用,只需要改變參數便可靈活的增加和減少輸入設備的數量。可以有效的運用於大量高速主設備訪問公共資源的接口系統中。
文檔編號G06F13/36GK102654856SQ20111005106
公開日2012年9月5日 申請日期2011年3月3日 優先權日2011年3月3日
發明者張智 申請人:張智