專(zhuān)利名稱(chēng):一種公平的總線(xiàn)仲裁方法及仲裁裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信系統(tǒng)中高速總線(xiàn)的仲裁方法,具體涉及通信系統(tǒng)中確定高速總線(xiàn)使用權(quán)的公平仲裁方法,更具體地說(shuō),涉及一種可在基站系統(tǒng)中確定高速總線(xiàn)使用權(quán)的公平仲裁方法,本發(fā)明還涉及基于所述方法的仲裁裝置。
本發(fā)明上述技術(shù)問(wèn)題這樣解決,構(gòu)造一種在基站系統(tǒng)中確定高速總線(xiàn)使用權(quán)的公平的總線(xiàn)仲裁方法,包括如下步驟對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣;統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)申請(qǐng)的個(gè)數(shù),并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序,賦予每個(gè)申請(qǐng)一個(gè)隊(duì)列排序值,該數(shù)值代表申請(qǐng)到達(dá)的先后次序,對(duì)每個(gè)申請(qǐng)進(jìn)行時(shí)間仲裁;對(duì)在同一時(shí)鐘周期產(chǎn)生的每個(gè)總線(xiàn)申請(qǐng)產(chǎn)生一個(gè)權(quán)重;根據(jù)每個(gè)申請(qǐng)的權(quán)重,對(duì)在同一時(shí)鐘周期同時(shí)到達(dá)的申請(qǐng)中,進(jìn)行權(quán)重仲裁,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)。
在上述公平的總線(xiàn)仲裁方法中,所述對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣步驟中還包括如下步驟用同一時(shí)鐘對(duì)N+1個(gè)申請(qǐng)線(xiàn)進(jìn)行采樣,當(dāng)檢測(cè)到申請(qǐng)線(xiàn)上的下降沿時(shí)產(chǎn)生總線(xiàn)申請(qǐng),在同一采樣周期內(nèi)到達(dá)的申請(qǐng)將同時(shí)產(chǎn)生總線(xiàn)申請(qǐng)。
在上述公平的總線(xiàn)仲裁方法中,所述統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)申請(qǐng)的個(gè)數(shù),并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序步驟中還包括如下步驟;采用隊(duì)列的方式進(jìn)行排序,位于隊(duì)列頭的序列號(hào)定為1,為0表示沒(méi)有出于序列當(dāng)中;申請(qǐng)累加器,統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)到達(dá)申請(qǐng)的個(gè)數(shù),隊(duì)列尾產(chǎn)生器初值為1,表示隊(duì)列尾的初始的序列號(hào)為1;
隊(duì)列尾產(chǎn)生器把當(dāng)前的數(shù)值和請(qǐng)累加器的結(jié)果累加,表示新的申請(qǐng)到來(lái),隊(duì)列尾往后移;申請(qǐng)計(jì)數(shù)器在申請(qǐng)被允許后減1,表示一個(gè)申請(qǐng)從隊(duì)列當(dāng)中清除,隊(duì)列尾往前移動(dòng)1。
從隊(duì)列尾產(chǎn)生器獲得目前的隊(duì)列尾序列號(hào),將這個(gè)序列號(hào)作為該申請(qǐng)?jiān)陉?duì)列的初始化序列號(hào),也就是將該申請(qǐng)連接在隊(duì)列的尾部,同時(shí)隊(duì)列尾產(chǎn)生器加1,更新隊(duì)列尾的位置,所有的申請(qǐng)根據(jù)采樣的時(shí)間次序,排列在隊(duì)列當(dāng)中,其中隊(duì)列頭的序列號(hào)為1,存放的是最早到達(dá)的申請(qǐng)。
在上述公平的總線(xiàn)仲裁方法中,所述對(duì)在同一時(shí)鐘周期產(chǎn)生的每個(gè)總線(xiàn)申請(qǐng)產(chǎn)生一個(gè)權(quán)重的步驟中還包括如下步驟統(tǒng)計(jì)總線(xiàn)的使用情況,將占用總線(xiàn)次數(shù)少的申請(qǐng)定為權(quán)重高,在N個(gè)從設(shè)備的系統(tǒng)中,最低的權(quán)重定為0,最高定為N。
在上述公平的總線(xiàn)仲裁方法中,所述選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)中還包括如下步驟從輸出的有效申請(qǐng)線(xiàn)當(dāng)中,找出權(quán)重最大的申請(qǐng),具體步驟如下申請(qǐng)表示為S0_REQ0…S0_REQN,權(quán)重表示為0…N,表示為二進(jìn)制L(k)2k+L(k-1)2(k-1)+…+L(0)20首先檢查有效申請(qǐng)的權(quán)重中,有沒(méi)有L(k)為1的,如果有,則最大的權(quán)重必然大于2k,則把權(quán)重大于2k的申請(qǐng)進(jìn)行第二級(jí)選擇S20-S2N,否則,把權(quán)重小于2k的申請(qǐng)進(jìn)行第二級(jí)選擇;上述過(guò)程在邏輯實(shí)現(xiàn)上表示為S1_req(j)=(L(k)(j)+Πi=0NL(k)(i)‾)S0_req(j)]]>經(jīng)過(guò)K=LOG2(N+1)級(jí)選擇后,可選擇出權(quán)重最大的申請(qǐng);當(dāng)一個(gè)申請(qǐng)獲得總線(xiàn)授權(quán)后,把該申請(qǐng)的權(quán)重設(shè)為最低,權(quán)重比它小的申請(qǐng)的權(quán)重都加1,經(jīng)過(guò)若干次的仲裁后對(duì)權(quán)重進(jìn)行若干次調(diào)整,最后,N+1個(gè)申請(qǐng)仍然處于N+1個(gè)不同的權(quán)重中,權(quán)重與一次使用總線(xiàn)的時(shí)間間隔有關(guān),時(shí)間越長(zhǎng),權(quán)重越大,權(quán)重越大,允許使用總線(xiàn)的幾率就越高,保證各從設(shè)備使用總線(xiàn)的時(shí)間。
本發(fā)明另一問(wèn)題這樣解決,構(gòu)造一種在基站系統(tǒng)中確定高速總線(xiàn)使用權(quán)的公平的總線(xiàn)仲裁裝置,包括時(shí)間仲裁器、權(quán)重仲裁器及輸出接口,所述時(shí)間仲裁器對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序后輸送至所述權(quán)重仲裁器中,所述權(quán)重仲裁器對(duì)每個(gè)申請(qǐng)產(chǎn)生一個(gè)權(quán)重并根據(jù)每個(gè)申請(qǐng)的權(quán)重,對(duì)在同一時(shí)鐘周期同時(shí)到達(dá)的申請(qǐng)中,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)。
在上述公平的總線(xiàn)仲裁裝置中,所述時(shí)間仲裁器包括在同一時(shí)鐘內(nèi)對(duì)N+1個(gè)申請(qǐng)線(xiàn)進(jìn)行采樣的采樣器、與所述采樣器連接用于統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)到達(dá)申請(qǐng)個(gè)數(shù)的申請(qǐng)累加器、對(duì)所述累加器中的申請(qǐng)進(jìn)行排序的隊(duì)列尾產(chǎn)生器、對(duì)所述隊(duì)列尾產(chǎn)生器進(jìn)行管理的隊(duì)列管理器,所述隊(duì)列管理器從隊(duì)列尾產(chǎn)生器獲得目前的隊(duì)列尾序列號(hào),將該序列號(hào)作為該申請(qǐng)?jiān)陉?duì)列的初始化序列號(hào),排列在輸出給權(quán)重仲裁器的隊(duì)列中。
在上述公平的總線(xiàn)仲裁裝置中,所述權(quán)重仲裁器包括串接連接的多級(jí)權(quán)重選擇器,與所述多級(jí)權(quán)重選擇器連接的權(quán)重產(chǎn)生器,所述權(quán)重產(chǎn)生器對(duì)每個(gè)申請(qǐng)產(chǎn)生一個(gè)權(quán)重,所述多級(jí)選擇器根據(jù)每個(gè)申請(qǐng)的權(quán)重,從時(shí)間仲裁器輸出的同時(shí)到達(dá)的申請(qǐng)中,經(jīng)過(guò)多級(jí)權(quán)重選擇器多級(jí)選擇后,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)通過(guò)所述輸出接口輸出。
實(shí)施本發(fā)明提供的公平的總線(xiàn)仲裁方法及裝置,具有如下優(yōu)點(diǎn)采用兩級(jí)仲裁,先經(jīng)過(guò)時(shí)間仲裁器,保證先申請(qǐng),先使用;再經(jīng)過(guò)權(quán)重仲裁器,保證使用者占用總線(xiàn)的公平性;為實(shí)現(xiàn)時(shí)間的公平性,本方法采用申請(qǐng)隊(duì)列方式,賦予每個(gè)申請(qǐng)一個(gè)隊(duì)列排序值,該數(shù)值代表申請(qǐng)到達(dá)的先后次序。通過(guò)比較該數(shù)值,就可以實(shí)現(xiàn)先申請(qǐng),先允許的仲裁原則。為了實(shí)現(xiàn)權(quán)重的公平性,本方法統(tǒng)計(jì)總線(xiàn)的歷史使用情況,給使用次數(shù)低的申請(qǐng)賦予較高的權(quán)重,從而保證總線(xiàn)使用的公平性;仲裁結(jié)果由被授權(quán)的總線(xiàn)使用者標(biāo)號(hào)(GNT NUM)和允許使用總線(xiàn)信號(hào)(GNT)組成。下掛總線(xiàn)的使用者根據(jù)仲裁結(jié)果決定是否享用總線(xiàn)。
申請(qǐng)累加器,統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)到達(dá)申請(qǐng)的個(gè)數(shù),隊(duì)列尾產(chǎn)生器初值為1,表示隊(duì)列尾的出始的序列號(hào)為1。隊(duì)列尾產(chǎn)生器把當(dāng)前的數(shù)值和請(qǐng)累加器的結(jié)果累加,表示新的申請(qǐng)到來(lái),隊(duì)列尾往后移。申請(qǐng)計(jì)數(shù)器在申請(qǐng)被允許后減1,表示一個(gè)申請(qǐng)從隊(duì)列當(dāng)中清除,隊(duì)列尾往前移動(dòng)1。舉例說(shuō)明,假設(shè)某一時(shí)刻隊(duì)列尾產(chǎn)生器的值為P,此時(shí)申請(qǐng)脈沖SRQ(I)到來(lái),隊(duì)列管理器(I)就從隊(duì)列尾產(chǎn)生器獲得目前的隊(duì)列尾序列號(hào)P,將P作為該申請(qǐng)?jiān)陉?duì)列的初始化序列號(hào),也就是將該申請(qǐng)連接在隊(duì)列的尾部,同時(shí)隊(duì)列尾產(chǎn)生器D加1,更新隊(duì)列尾的位置。這樣,所有的申請(qǐng)就根據(jù)采樣的時(shí)間次序,排列在隊(duì)列當(dāng)中,其中隊(duì)列的頭序列號(hào)為1,存放的是最早到達(dá)的申請(qǐng)。
新申請(qǐng)從隊(duì)列尾產(chǎn)生器D獲得處于隊(duì)列尾的初始化序列號(hào),隊(duì)列管理器(B0-BN)根據(jù)反饋信息總線(xiàn)仲裁應(yīng)答信號(hào)(ACK)和被授權(quán)的總線(xiàn)使用者標(biāo)號(hào)(GNT_NUM),更新各申請(qǐng)?jiān)陉?duì)列中的位置。其中ACK是仲裁結(jié)果已經(jīng)被從設(shè)備接收,可以進(jìn)行下一個(gè)申請(qǐng)的仲裁的指示標(biāo)記。GNT_NUM為仲裁輸出的允許適用總線(xiàn)的申請(qǐng)的標(biāo)號(hào)。隊(duì)列管理器更新序列號(hào)的過(guò)程如下在接收到ACK信號(hào),表明標(biāo)號(hào)為GNT_NUM的從設(shè)備已經(jīng)接收到仲裁結(jié)果,因此它的申請(qǐng)的序列號(hào)清為0,即將該申請(qǐng)清除出隊(duì)列。對(duì)于其它標(biāo)號(hào)不等于GNT_NUM且處于隊(duì)列頭的申請(qǐng)(即序列號(hào)為1),維持為1。其它非隊(duì)列頭的申請(qǐng)(序列號(hào)大于1),序列號(hào)減1,即隊(duì)列中的申請(qǐng)往前移。隊(duì)列管理器同時(shí)還將處于隊(duì)列頭的申請(qǐng)送往權(quán)重仲裁器。
權(quán)重仲裁器的輸入為時(shí)間仲裁器的輸出,其輸出包括授權(quán)的總線(xiàn)使用者標(biāo)號(hào)(GNT_NUM)、總線(xiàn)仲裁結(jié)果輸出指示(GNT)。其中GNT_NUM和GNT作為最終的仲裁結(jié)果輸出,把總線(xiàn)使用權(quán)交給標(biāo)號(hào)為GNT_NUM的總線(xiàn)申請(qǐng)從設(shè)備。
如
圖1所示,多級(jí)權(quán)重選擇器S,權(quán)重產(chǎn)生器,共同組成了權(quán)重仲裁器。權(quán)重產(chǎn)生器,公平的為每個(gè)申請(qǐng)產(chǎn)生一個(gè)權(quán)重,選擇器根據(jù)申請(qǐng)的權(quán)重,從時(shí)間仲裁器輸出的同時(shí)到達(dá)的申請(qǐng)中,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)。
權(quán)重產(chǎn)生器工作原理它實(shí)際上是一個(gè)總線(xiàn)使用歷史統(tǒng)計(jì)器,在N個(gè)從設(shè)備的系統(tǒng)中,最低的權(quán)重為0,最高為N。算法統(tǒng)計(jì)總線(xiàn)的歷史使用情況,讓占用總線(xiàn)次數(shù)少的申請(qǐng)權(quán)重高。
算法如下給標(biāo)號(hào)I的申請(qǐng)賦權(quán)重初值I,如圖2a所示,當(dāng)一個(gè)申請(qǐng)(標(biāo)號(hào)為I)獲得總線(xiàn)授權(quán)后,把該申請(qǐng)的權(quán)重設(shè)為最低,權(quán)重比它小的申請(qǐng)的權(quán)重都加1,如圖2b。經(jīng)過(guò)若干次的仲裁后,權(quán)重產(chǎn)生器用圖2b的方式對(duì)權(quán)重進(jìn)行了若干次調(diào)整,最后,N+1個(gè)申請(qǐng)仍然處于N+1個(gè)不同的權(quán)重中,不過(guò)此時(shí)各個(gè)申請(qǐng)對(duì)應(yīng)的權(quán)重已經(jīng)沒(méi)有初始化的那樣有規(guī)律。但是各申請(qǐng)的權(quán)重在統(tǒng)計(jì)上,權(quán)重與一次使用總線(xiàn)的時(shí)間間隔有關(guān),時(shí)間越長(zhǎng),權(quán)重越大。權(quán)重越大,允許使用總線(xiàn)的幾率就越高,這就保證各從設(shè)備的使用總線(xiàn)的時(shí)間。
選擇器S的實(shí)現(xiàn)的功能為采用對(duì)分選擇的算法,從時(shí)間仲裁器輸出的有效輸出申請(qǐng)線(xiàn)當(dāng)中,找出權(quán)重最大的申請(qǐng)。具體算法如下申請(qǐng)S0_REQ0…S0_REQN,權(quán)重0…N,表示為二進(jìn)制L(k)2k+L(k-1)2(k-1)+…+L(0)20。首先檢查有效申請(qǐng)的權(quán)重中,有沒(méi)有L(k)為1的,如果有,則最大的權(quán)重必然大于2k,則把權(quán)重大于2k的申請(qǐng)送往第二級(jí)選擇器S20-S2N,否則,把權(quán)重小于2k的申請(qǐng)送往第二級(jí)選擇器。上述過(guò)程在邏輯實(shí)現(xiàn)上可以表示為可用布爾表達(dá)式表示為S1_req(j)=(L(k)(j)+Πi=0NL(k)(i)‾)S0_req(j).]]>如此經(jīng)過(guò)多級(jí)選擇,最終選出權(quán)重最大的申請(qǐng)。采用這種方式要經(jīng)過(guò)K=LOG2(N+1)級(jí)選擇器就能選擇出權(quán)重最大的申請(qǐng)。當(dāng)然,選擇器也可以采用冒泡法實(shí)現(xiàn),但比較次數(shù)隨著N的增加而增多,硬件實(shí)現(xiàn)上延時(shí)比較大。
權(quán)重仲裁器根據(jù)各申請(qǐng)的權(quán)重,從高到低每次輸出一個(gè)總線(xiàn)使用授權(quán)。由輸出接口器檢測(cè)到從設(shè)備的應(yīng)答信號(hào)“忙”(BUSY),發(fā)現(xiàn)BUSY信號(hào)則將輸出ACK信號(hào),和GNT_NUM一起,控制時(shí)間仲裁器及權(quán)重仲裁器進(jìn)行下一個(gè)申請(qǐng)的仲裁,新的仲裁結(jié)果受從設(shè)備的應(yīng)答B(yǎng)USY信號(hào)控制,等使用總線(xiàn)的從設(shè)備釋放總線(xiàn)后才輸出。這樣,兩個(gè)仲裁器在總線(xiàn)使用期間就可以進(jìn)行下一個(gè)仲裁過(guò)程,使用結(jié)束立即可以輸出結(jié)果,減少仲裁的時(shí)延,從而提高總線(xiàn)的利用效率。
本發(fā)明方法可采用VHDL語(yǔ)言編寫(xiě),裝置可采用ALTERA公司的FLEX10K50來(lái)實(shí)現(xiàn)。
權(quán)利要求
1.一種公平的總線(xiàn)仲裁方法,其特征在于,包括如下步驟對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣;統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)申請(qǐng)的個(gè)數(shù),并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序,賦予每個(gè)申請(qǐng)一個(gè)隊(duì)列排序值,該數(shù)值代表申請(qǐng)到達(dá)的先后次序,對(duì)每個(gè)申請(qǐng)進(jìn)行時(shí)間仲裁;對(duì)在同一時(shí)鐘周期產(chǎn)生的每個(gè)總線(xiàn)申請(qǐng)產(chǎn)生一個(gè)權(quán)重;根據(jù)每個(gè)申請(qǐng)的權(quán)重,對(duì)在同一時(shí)鐘周期同時(shí)到達(dá)的申請(qǐng)中,進(jìn)行權(quán)重仲裁,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)。
2.根據(jù)權(quán)利要求1所述公平的總線(xiàn)仲裁方法,其特征在于,所述對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣步驟中,還包括如下步驟用同一時(shí)鐘對(duì)N+1個(gè)申請(qǐng)線(xiàn)進(jìn)行采樣,當(dāng)檢測(cè)到申請(qǐng)線(xiàn)上的下降沿時(shí)產(chǎn)生總線(xiàn)申請(qǐng),在同一采樣周期內(nèi)到達(dá)的申請(qǐng)將同時(shí)產(chǎn)生總線(xiàn)申請(qǐng)。
3.根據(jù)權(quán)利要求1所述公平的總線(xiàn)仲裁方法,其特征在于,所述統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)申請(qǐng)的個(gè)數(shù),并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序步驟中,還包括如下步驟;采用隊(duì)列的方式進(jìn)行排序,位于隊(duì)列頭的序列號(hào)定為1,為0表示沒(méi)有出于序列當(dāng)中;申請(qǐng)累加器,統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)到達(dá)申請(qǐng)的個(gè)數(shù),隊(duì)列尾產(chǎn)生器初值為1,表示隊(duì)列尾的初始的序列號(hào)為1;隊(duì)列尾產(chǎn)生器把當(dāng)前的數(shù)值和請(qǐng)累加器的結(jié)果累加,表示新的申請(qǐng)到來(lái),隊(duì)列尾往后移;申請(qǐng)計(jì)數(shù)器在申請(qǐng)被允許后減1,表示一個(gè)申請(qǐng)從隊(duì)列當(dāng)中清除,隊(duì)列尾往前移動(dòng)1;從隊(duì)列尾產(chǎn)生器獲得目前的隊(duì)列尾序列號(hào),將這個(gè)序列號(hào)作為該申請(qǐng)?jiān)陉?duì)列的初始化序列號(hào),也就是將該申請(qǐng)連接在隊(duì)列的尾部,同時(shí)隊(duì)列尾產(chǎn)生器加1,更新隊(duì)列尾的位置,所有的申請(qǐng)根據(jù)采樣的時(shí)間次序,排列在隊(duì)列當(dāng)中,其中隊(duì)列頭的序列號(hào)為1,存放的是最早到達(dá)的申請(qǐng)。
4.根據(jù)權(quán)利要求1所述公平的總線(xiàn)仲裁方法,其特征在于,所述對(duì)在同一時(shí)鐘周期產(chǎn)生的每個(gè)總線(xiàn)申請(qǐng)產(chǎn)生一個(gè)權(quán)重的步驟中還包括如下步驟統(tǒng)計(jì)總線(xiàn)的使用情況,將占用總線(xiàn)次數(shù)少的申請(qǐng)定為權(quán)重高,在N個(gè)從設(shè)備的系統(tǒng)中,最低的權(quán)重定為0,最高定為N。
5.根據(jù)權(quán)利要求1所述公平的總線(xiàn)仲裁方法,其特征在于,所述選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)中還包括如下步驟從輸出的有效申請(qǐng)線(xiàn)當(dāng)中,找出權(quán)重最大的申請(qǐng),具體步驟如下申請(qǐng)表示為S0_REQ0…S0_REQN,權(quán)重表示為0…N,表示為二進(jìn)制L(k)2k+L(k-1)2(k-1)+…+L(0)20;首先檢查有效申請(qǐng)的權(quán)重中,有沒(méi)有L(k)為1的,如果有,則最大的權(quán)重必然大于2k,則把權(quán)重大于2k的申請(qǐng)進(jìn)行第二級(jí)選擇S20-S2N,否則,把權(quán)重小于2k的申請(qǐng)進(jìn)行第二級(jí)選擇;上述過(guò)程在邏輯實(shí)現(xiàn)上表示為S1_req(j)=(L(k)(j)+Πi=0NL(k)(i)‾)S0_req(j)]]>經(jīng)過(guò)K=LOG2(N+1)級(jí)選擇后,可選擇出權(quán)重最大的申請(qǐng);當(dāng)一個(gè)申請(qǐng)獲得總線(xiàn)授權(quán)后,把該申請(qǐng)的權(quán)重設(shè)為最低,權(quán)重比它小的申請(qǐng)的權(quán)重都加1,經(jīng)過(guò)若干次的仲裁后對(duì)權(quán)重進(jìn)行若干次調(diào)整,最后,N+1個(gè)申請(qǐng)仍然處于N+1個(gè)不同的權(quán)重中,權(quán)重與一次使用總線(xiàn)的時(shí)間間隔有關(guān),時(shí)間越長(zhǎng),權(quán)重越大,權(quán)重越大,允許使用總線(xiàn)的幾率就越高,保證各從設(shè)備使用總線(xiàn)的時(shí)間。
6.一種公平的總線(xiàn)仲裁裝置,其特征在于,包括時(shí)間仲裁器、權(quán)重仲裁器及輸出接口,所述時(shí)間仲裁器對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序后輸送至所述權(quán)重仲裁器中,所述權(quán)重仲裁器對(duì)每個(gè)申請(qǐng)產(chǎn)生一個(gè)權(quán)重并根據(jù)每個(gè)申請(qǐng)的權(quán)重,對(duì)在同一時(shí)鐘周期同時(shí)到達(dá)的申請(qǐng)中,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)。
7.根據(jù)權(quán)利要求6所述公平的總線(xiàn)仲裁裝置,其特征在于,所述時(shí)間仲裁器包括在同一時(shí)鐘內(nèi)對(duì)N+1個(gè)申請(qǐng)線(xiàn)進(jìn)行采樣的采樣器、與所述采樣器連接用于統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)到達(dá)申請(qǐng)個(gè)數(shù)的申請(qǐng)累加器、對(duì)所述累加器中的申請(qǐng)進(jìn)行排序的隊(duì)列尾產(chǎn)生器、對(duì)所述隊(duì)列尾產(chǎn)生器進(jìn)行管理的隊(duì)列管理器,所述隊(duì)列管理器從隊(duì)列尾產(chǎn)生器獲得目前的隊(duì)列尾序列號(hào),將該序列號(hào)作為該申請(qǐng)?jiān)陉?duì)列的初始化序列號(hào),排列在輸出給權(quán)重仲裁器的隊(duì)列中。
8.根據(jù)權(quán)利要求6所述公平的總線(xiàn)仲裁裝置,其特征在于,所述權(quán)重仲裁器包括串接連接的多級(jí)權(quán)重選擇器,與所述多級(jí)權(quán)重選擇器連接的權(quán)重產(chǎn)生器,所述權(quán)重產(chǎn)生器對(duì)每個(gè)申請(qǐng)產(chǎn)生一個(gè)權(quán)重,所述多級(jí)選擇器根據(jù)每個(gè)申請(qǐng)的權(quán)重,從時(shí)間仲裁器輸出的同時(shí)到達(dá)的申請(qǐng)中,經(jīng)過(guò)多級(jí)權(quán)重選擇器多級(jí)選擇后,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)通過(guò)所述輸出接口輸出。
全文摘要
本發(fā)明涉及一種確定高速總線(xiàn)使用權(quán)的公平的仲裁方法及裝置,該方法包括如下步驟對(duì)在同一時(shí)鐘周期產(chǎn)生的總線(xiàn)申請(qǐng)進(jìn)行采樣;統(tǒng)計(jì)同一時(shí)鐘周期內(nèi)申請(qǐng)的個(gè)數(shù),并按申請(qǐng)時(shí)間的先后對(duì)申請(qǐng)進(jìn)行排序,賦予每個(gè)申請(qǐng)一個(gè)隊(duì)列排序值,該數(shù)值代表申請(qǐng)到達(dá)的先后次序,對(duì)每個(gè)申請(qǐng)進(jìn)行時(shí)間仲裁;對(duì)在同一時(shí)鐘周期產(chǎn)生的每個(gè)總線(xiàn)申請(qǐng)產(chǎn)生一個(gè)權(quán)重;根據(jù)每個(gè)申請(qǐng)的權(quán)重,對(duì)在同一時(shí)鐘周期同時(shí)到達(dá)的申請(qǐng)中,進(jìn)行權(quán)重仲裁,選出權(quán)重最大的一個(gè)給予總線(xiàn)使用權(quán)。而裝置包括依序連接的時(shí)間仲裁器、權(quán)重仲裁器及輸出接口;先經(jīng)過(guò)時(shí)間仲裁器,保證先申請(qǐng),先使用;再經(jīng)過(guò)權(quán)重仲裁器,可保證使用者占用總線(xiàn)的公平性,從而實(shí)現(xiàn)高速總線(xiàn)使用權(quán)的公平仲裁。
文檔編號(hào)H04L12/40GK1479542SQ02136770
公開(kāi)日2004年3月3日 申請(qǐng)日期2002年8月30日 優(yōu)先權(quán)日2002年8月30日
發(fā)明者陳永健, 段曉偉, 舒峰 申請(qǐng)人:深圳市中興通訊股份有限公司上海第二研究所, 深圳市中興通訊股份有限公司上海第二