專利名稱:一種多信道加權(quán)輪詢方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及寬帶數(shù)據(jù)通訊領(lǐng)域,具體地說,涉及多路傳輸數(shù)據(jù)進行復(fù)用時的輪詢調(diào)度(Round Robin Scheduler)系統(tǒng)。
由于各個數(shù)據(jù)信道的數(shù)據(jù)流量不一樣,有的信道的數(shù)據(jù)流量特別大,有的比較小,如果每個信道都分配均等的帶寬或者傳輸?shù)臋C會,數(shù)據(jù)量大的信道就有可能出現(xiàn)堵塞,甚至數(shù)據(jù)丟失的情況,而流量小的信道,則易造成帶寬浪費。因此,為了更有效的利用帶寬,又出現(xiàn)了加權(quán)輪詢的方法,即通過設(shè)置信道的優(yōu)先級來調(diào)節(jié)各個信道的有效帶寬。
加權(quán)輪詢方法一般是采用軟件的形式來實現(xiàn)的,其實現(xiàn)的基本思路是,根據(jù)系統(tǒng)運行的要求,設(shè)置若干個隊列,賦予每個隊列一定的優(yōu)先權(quán)(加權(quán)),再設(shè)置一個中心控制器,中心控制器根據(jù)每一個隊列的優(yōu)先級,同時按照遞增或遞減的規(guī)律循環(huán)輪詢各個隊列,并決定選擇哪一個隊列進行處理。用軟件實現(xiàn)加權(quán)輪詢的速度很有限,不能適用于對數(shù)據(jù)傳輸速度要求較高的場合。
在一些電子系統(tǒng)中也有用硬件裝置來實現(xiàn)輪詢調(diào)度的,這種裝置主要是一個中心控制器。在電子系統(tǒng)中有多個需要被服務(wù)的站點,中心控制器對每一個站點都進行查詢,但是由于電子系統(tǒng)都有一個全局時鐘,而中心控制器也往往是按照全局時鐘的節(jié)拍(時鐘周期)來工作的,中心控制器每查詢一個站點,就要耗費一個節(jié)拍(時鐘周期),當(dāng)站點數(shù)目比較多時,比如有8個或16個站點,中心控制器執(zhí)行完一個輪詢周期,需花費許多時間。例如某電子系統(tǒng)共有16個站點,目前1站點與16站點需要得到服務(wù)。中心控制器首先查詢到1站點并對其進行服務(wù),待服務(wù)結(jié)束后,中心控制器必須要經(jīng)過15個節(jié)拍才能查詢到16站點需要服務(wù)。由此可以看出中心控制器依次查詢往往會造成有些站點要等待很長的時間才能有機會被服務(wù)。在需要進行高速數(shù)據(jù)傳輸?shù)膱龊?,對信息延遲有嚴(yán)格的要求,如果數(shù)據(jù)傳輸信道的數(shù)據(jù)要等待比較長的時間才能傳輸,這是不允許的。
一種多信道加權(quán)輪詢方法,包括以下步驟一、根據(jù)各個信道的加權(quán)值和信道狀態(tài)標(biāo)記,構(gòu)造搜索鏈;二、查詢搜索鏈標(biāo)記,如果搜索鏈標(biāo)記為高,則說明該標(biāo)記對應(yīng)的信道需要進行數(shù)據(jù)傳輸,輸出該信道編號,暫停查詢,轉(zhuǎn)至步驟三;如果搜索鏈標(biāo)記為低,則繼續(xù)查詢,重復(fù)步驟二;三、被選信道開始傳輸數(shù)據(jù),同時繼續(xù)查詢搜索鏈標(biāo)記,返回步驟二。
一種多信道加權(quán)輪詢裝置,位于n路信道與傳輸控制模塊之間,包括加權(quán)設(shè)置模塊、循環(huán)輪詢模塊和輪詢控制模塊;所述加權(quán)設(shè)置模塊用于設(shè)置每一個信道的加權(quán)優(yōu)先級,并輸出給所述循環(huán)輪詢模塊;所述循環(huán)輪詢模塊根據(jù)n路信道的狀態(tài)標(biāo)記和所述加權(quán)設(shè)置模塊的輸出生成搜索鏈,并進行查詢,查詢結(jié)果輸出給傳輸控制模塊;所述輪詢控制模塊用于控制所述循環(huán)查詢模塊的狀態(tài)。
本發(fā)明采用循環(huán)輪詢方法,結(jié)合加權(quán)優(yōu)先級設(shè)置,實現(xiàn)了一種快速、高效的多信道調(diào)度方案,從而達到了改善寬帶通訊系統(tǒng)數(shù)據(jù)傳輸性能的目的,有利于通訊系統(tǒng)的效率的提高,為設(shè)備使用方節(jié)省了開支,提高了效益。
圖2是本發(fā)明加權(quán)輪詢裝置的結(jié)構(gòu)示意圖。
圖3是圖2中循環(huán)輪詢模塊11的結(jié)構(gòu)示意圖。
圖4是循環(huán)輪詢模塊11中搜索鏈的示意圖。
圖5是圖2中輪詢控制模塊12的狀態(tài)轉(zhuǎn)換圖。
圖6是采用本發(fā)明的數(shù)據(jù)傳輸時序圖。
在
圖1中,本發(fā)明多信道加權(quán)輪詢裝置位于n路信道和傳輸控制模塊之間,接收信道的狀態(tài)標(biāo)記,確定哪一路信道進行數(shù)據(jù)傳輸,并將結(jié)果輸出給傳輸控制模塊,則該路信道的數(shù)據(jù)通過傳輸數(shù)據(jù)通路到公共高速接口。
圖2是多信道加權(quán)輪詢裝置的結(jié)構(gòu)示意圖,包括加權(quán)設(shè)置模塊10、循環(huán)輪詢模塊11和輪詢控制模塊12。加權(quán)設(shè)置模塊10設(shè)置每一個信道的加權(quán)優(yōu)先級,并輸出給循環(huán)輪詢模塊11;循環(huán)輪詢模塊11接收來自加權(quán)設(shè)置模塊10的信道加權(quán)優(yōu)先級和來自信道的狀態(tài)標(biāo)記,實現(xiàn)對信道的查詢,向傳輸控制模塊輸出選中的信道編號,同時向輪詢控制模塊12輸出其狀態(tài);輪詢控制模塊12根據(jù)循環(huán)輪詢模塊11的狀態(tài)和傳輸控制模塊的信號,控制循環(huán)輪詢模塊11的等待、暫停和查詢等狀態(tài)。
加權(quán)設(shè)置模塊10包括m×n個寄存器,實現(xiàn)n個信道的m級優(yōu)先級,每一個信道用m個寄存器來表示其優(yōu)先級,m個寄存器可以表示m位二進制數(shù)值,優(yōu)先級的高低是根據(jù)寄存器中二進制數(shù)值1的個數(shù)多少來確定的,1個1表示最低優(yōu)先級,m個1表示優(yōu)先級最高。對每一個信道的優(yōu)先級而言,一次配置只有上述m個優(yōu)先級中的一個,用Pi來表示每個信道的優(yōu)先級的每一位,其中i等于1到m。在本發(fā)明的實施例中,選擇4個寄存器來實現(xiàn)優(yōu)先級,即m=4,其中0001為最低優(yōu)先級,依次有0011,0111和1111,優(yōu)先級最高的是1111。對于優(yōu)先級最高的信道,其P4=1,P3=1,P2=1,P1=1,;而優(yōu)先級最低的信道,其P4=0,P3=0,P2=0,P1=1。
加權(quán)設(shè)置模塊10設(shè)置好每個信道的優(yōu)先級后,將優(yōu)先級參數(shù)輸出給循環(huán)輪詢模塊11,用于構(gòu)造搜索鏈。
圖3是本發(fā)明加權(quán)輪詢裝置中循環(huán)輪詢模塊11的結(jié)構(gòu)圖。循環(huán)輪詢模塊11包括一組由m×n個寄存器組成的寄存器組、循環(huán)判斷模塊111和轉(zhuǎn)換模塊112。寄存器1、2、……、m×n用于存儲搜索鏈的搜索標(biāo)記,搜索鏈搜索標(biāo)記的位數(shù)與信道數(shù)n和優(yōu)先級的級數(shù)m有關(guān),共m×n位。加權(quán)設(shè)置模塊10輸出的每個信道的優(yōu)先級與信道的狀態(tài)標(biāo)記進行邏輯與運算,得到搜索鏈的搜索標(biāo)記,并存入寄存器中。搜索標(biāo)記的計算公式如下Sji=Tj·Pi,其中Tj表示信道狀態(tài)標(biāo)記,j=1,2,…,n;Pi表示每個信道的優(yōu)先級的每一位,i=1,2,…,m;兩者進行邏輯與運算。信道狀態(tài)標(biāo)記Tj是表示信道是否有有效數(shù)據(jù)需要傳輸?shù)?,如果有,信道狀態(tài)標(biāo)記為1;如果沒有,信道狀態(tài)標(biāo)記為0。由此可見,每一個信道在搜索鏈里都有m位可供查詢。若Sji為1,則表示該搜索標(biāo)記對應(yīng)信道j的優(yōu)先級設(shè)置有效,并且該信道中存在有效數(shù)據(jù)需要傳輸,否則Sji為0。m×n個搜索標(biāo)記在寄存器1、2、……、m×n中的存儲方式是,首先將同一優(yōu)先級位數(shù)的搜索標(biāo)記按信道的遞增或遞減順序排列,再按照優(yōu)先級位數(shù)從高到低或從低到高的順序排列,對應(yīng)地存儲到寄存器中。在本實施例中,取m=4,則搜索鏈共有4n位,如圖4所示,按照遞增順序進行存儲,則先存儲S11、S21、S31、……、Sn1,然后再存儲S12、S22、……、Sn2,直到S14、S24、……、Sn4。
m×n個寄存器中存儲的搜索鏈作為被查詢對象,由循環(huán)判斷模塊111不斷地進行查詢判斷,當(dāng)發(fā)現(xiàn)有一個有效狀態(tài)時,就輸出對應(yīng)的搜索鏈狀態(tài)位編號給轉(zhuǎn)換模塊112,將該狀態(tài)位編號轉(zhuǎn)換為信道編號,確定哪一個信道可以執(zhí)行數(shù)據(jù)傳輸,并輸出給傳輸控制模塊。由于搜索標(biāo)記在寄存器里的排列順序是按照一定規(guī)律進行的,因此轉(zhuǎn)換就相當(dāng)于一個查表結(jié)構(gòu)一樣,根據(jù)輸入的數(shù)值,就可以確定其屬于哪一個信道,即輸出信道編號。
優(yōu)先級的體現(xiàn)在于一個輪詢周期內(nèi)(即輪詢指針從搜索鏈的開始查詢到結(jié)束),優(yōu)先級高的信道有機會進行數(shù)據(jù)傳輸?shù)拇螖?shù)要多,如在本實施例中,優(yōu)先級最高的信道,即加權(quán)值為1111的信道,在一個輪詢周期內(nèi)被查詢4次,由于其在搜索鏈中表示該信道的4位都可能為1,因此該信道有4次機會可以進行數(shù)據(jù)傳輸;而優(yōu)先級最低的信道,即加權(quán)值為0001的信道,在每個輪詢周期內(nèi)雖然也會被查詢4次,但只能有1次機會可以進行數(shù)據(jù)傳輸,因為其加權(quán)值中只有一位為1。
輪詢指針按照遞增或遞減規(guī)律從最低位開始查詢,當(dāng)查詢到某一搜索標(biāo)記為1時,輪詢指針暫停移動,輸出相應(yīng)搜索鏈狀態(tài)位編號,再經(jīng)過轉(zhuǎn)換即可得到對應(yīng)的信道編號。由于循環(huán)輪詢模塊11采用組合邏輯的方式,所有位的查詢可以在一個時鐘周期內(nèi)完成(20ns以內(nèi)),這在信道切換進行數(shù)據(jù)傳輸時非常重要,可大大縮短后面信道數(shù)據(jù)的等待延遲,有利于改善傳輸網(wǎng)絡(luò)的性能。
圖5是輪詢控制模塊12的狀態(tài)轉(zhuǎn)換圖。輪詢控制模塊12主要是一個狀態(tài)機,用來控制循環(huán)輪詢模塊11的查詢、暫停等動作,包含有3個狀態(tài)空閑狀態(tài),在系統(tǒng)復(fù)位時進入此狀態(tài),其它時刻不進入此狀態(tài);搜索狀態(tài),在此狀態(tài)下,循環(huán)輪詢模塊11查詢是否有信元可傳輸?shù)男诺?,?dāng)查詢到一條有效信道后,輪詢指針停止移動;等待狀態(tài),當(dāng)循環(huán)輪詢模塊11查詢到一條有效信道并輸出信道編號后,進入等待狀態(tài),直到傳輸控制模塊控制當(dāng)前信道的信元開始傳輸,并向其發(fā)送“查詢允許”信號后,返回搜索狀態(tài)。
系統(tǒng)上電啟動后,輪詢控制模塊12首先進入空閑狀態(tài),在下一個時鐘周期進入搜索狀態(tài),循環(huán)輪詢模塊11開始對搜索鏈進行查詢,當(dāng)循環(huán)輪詢模塊11查詢到一個有效信道后,輪詢指針暫停在搜索鏈的下一個標(biāo)志位,輪詢控制模塊根據(jù)循環(huán)輪詢模塊11提供得有效狀態(tài)轉(zhuǎn)移條件,進入等待狀態(tài),等待有效信道當(dāng)前數(shù)據(jù)的傳輸,一般在傳輸控制模塊在當(dāng)前數(shù)據(jù)傳輸開始后輸出一個“查詢允許”信號,輪詢控制模塊12依據(jù)此信號返回搜索狀態(tài),開始下一輪的查詢。
圖6是采用本發(fā)明加權(quán)輪詢裝置后的數(shù)據(jù)傳輸時序圖。圖中各信號的含義如下clk表示系統(tǒng)時鐘信號;eoc表示當(dāng)前周期為信元傳輸結(jié)束,所有信道共用此信號;soc表示當(dāng)前周期為信元傳輸開始,所有信道共用此信號;chan8_av是指信道8狀態(tài)的有效標(biāo)記,高電平時表示該信道有數(shù)據(jù)需要傳輸;chan2_av是信道2狀態(tài)的有效標(biāo)記,高電平時表示該信道有數(shù)據(jù)需要傳輸;chan8_data是信道8數(shù)據(jù)傳輸信號;chan2_data是信道2數(shù)據(jù)傳輸信號;chan_sel是信道選擇信號,由循環(huán)輪詢模塊11輸出。
圖6顯示出兩個信道進行數(shù)據(jù)傳輸?shù)目焖偾袚Q,首先,信道8正在進行數(shù)據(jù)傳輸,此時并沒有任何一個信道的狀態(tài)有效標(biāo)記為高電平,在eoc信號有效(僅保持一個時鐘周期)時,信道2的狀態(tài)有效標(biāo)記變?yōu)楦唠娖?,此時,無論當(dāng)前循環(huán)輪詢模塊11查詢到哪一個信道或者說查詢到搜索鏈哪一位,它都能在一個時鐘周期內(nèi)馬上查詢到信道2為有效信道,即信道2需要進行數(shù)據(jù)傳輸。而如果采用一般的輪詢方法,循環(huán)輪詢裝置采用時序邏輯的方式,即根據(jù)時鐘邊緣觸發(fā)工作的電路,要查詢到信道2的有效信號,有可能需要等待很多個時鐘周期,具體的時間長短與輪詢指針的當(dāng)前位置有關(guān)。
權(quán)利要求
1.一種多信道加權(quán)輪詢方法,其特征在于,包括以下步驟一、根據(jù)各個信道的加權(quán)值和信道狀態(tài)標(biāo)記,構(gòu)造搜索鏈;二、查詢搜索鏈標(biāo)記,如果搜索鏈標(biāo)記為高,則說明該標(biāo)記對應(yīng)的信道需要進行數(shù)據(jù)傳輸,輸出該信道編號,暫停查詢,轉(zhuǎn)至步驟三;如果搜索鏈標(biāo)記為低,則繼續(xù)查詢,重復(fù)步驟二;三、被選信道開始傳輸數(shù)據(jù),同時繼續(xù)查詢搜索鏈標(biāo)記,返回步驟二。
2.根據(jù)權(quán)利要求1所述的多信道加權(quán)輪詢方法,其特征在于,所述步驟一進一步包括,首先每個信道的加權(quán)值的每一位均與信道狀態(tài)標(biāo)記進行邏輯與運算,生成搜索鏈標(biāo)記;然后將同一加權(quán)值位數(shù)的搜索鏈標(biāo)記按信道的遞增或遞減順序排列,再按照加權(quán)值位數(shù)從高到低或從低到高的順序排列,生成搜索鏈。
3.一種多信道加權(quán)輪詢裝置,位于n路信道與傳輸控制模塊之間,其特征在于,包括加權(quán)設(shè)置模塊(10)、循環(huán)輪詢模塊(11)和輪詢控制模塊(12);所述加權(quán)設(shè)置模塊(10)用于設(shè)置每一個信道的加權(quán)優(yōu)先級,并輸出給所述循環(huán)輪詢模塊(11);所述循環(huán)輪詢模塊(11)根據(jù)n路信道的狀態(tài)標(biāo)記和所述加權(quán)設(shè)置模塊(10)的輸出生成搜索鏈,并進行查詢,查詢結(jié)果輸出給傳輸控制模塊和所述輪詢控制模塊(12);所述輪詢控制模塊(12)根據(jù)所述循環(huán)輪詢模塊(11)的狀態(tài)和傳輸控制模塊的信號,控制所述循環(huán)輪詢模塊(11)的等待、暫停和查詢等狀態(tài)。
4.根據(jù)權(quán)利要求3所述的多信道加權(quán)輪詢裝置,其特征在于,所述加權(quán)設(shè)置模塊(10)包括m×n個寄存器,用于實現(xiàn)n個信道的m級優(yōu)先級,每一個信道的優(yōu)先級用m個寄存器中的二進制數(shù)值表示。
5.根據(jù)權(quán)利要求3所述的多信道加權(quán)輪詢裝置,其特征在于,循環(huán)輪詢模塊(11)包括一組由m×n個寄存器組成的寄存器組、循環(huán)判斷模塊(111)和轉(zhuǎn)換模塊(112);所述寄存器組用于存儲搜索鏈的搜索標(biāo)記,所述加權(quán)設(shè)置模塊(10)輸出的每個信道的優(yōu)先級與信道的狀態(tài)標(biāo)記進行邏輯與運算,得到搜索鏈的搜索標(biāo)記,存入所述寄存器組中;所述循環(huán)判斷模塊(111)不斷地對寄存器組的內(nèi)容進行查詢判斷,當(dāng)發(fā)現(xiàn)有一個有效狀態(tài)時,就輸出對應(yīng)的搜索鏈狀態(tài)位編號給所述轉(zhuǎn)換模塊(112),將該狀態(tài)位編號轉(zhuǎn)換為信道編號,確定哪一個信道可以執(zhí)行數(shù)據(jù)傳輸,并輸出給傳輸控制模塊。
6.根據(jù)權(quán)利要求3所述的多信道加權(quán)輪詢裝置,其特征在于,所述輪詢控制模塊(12)主要是一個狀態(tài)機,用來控制所述循環(huán)輪詢模塊(11)的查詢、暫停等動作,包含有3個狀態(tài),空閑狀態(tài)、搜索狀態(tài)和等待狀態(tài)。
7.根據(jù)權(quán)利要求5所述的多信道加權(quán)輪詢裝置,其特征在于,所述m×n個搜索標(biāo)記在寄存器1、2、……、m×n中的存儲方式是,首先將同一優(yōu)先級位數(shù)的搜索標(biāo)記按信道的遞增或遞減順序排列,再按照優(yōu)先級位數(shù)從高到低或從低到高的順序排列,對應(yīng)地存儲到寄存器1、2、……、m×n中。
全文摘要
本發(fā)明提供一種多信道加權(quán)輪詢裝置,位于n路信道與傳輸控制模塊之間,包括加權(quán)設(shè)置模塊10、循環(huán)輪詢模塊11和輪詢控制模塊12;所述加權(quán)設(shè)置模塊10用于設(shè)置每一個信道的加權(quán)優(yōu)先級,并輸出給所述循環(huán)輪詢模塊11;所述循環(huán)輪詢模塊11根據(jù)n路信道的狀態(tài)標(biāo)記和所述加權(quán)設(shè)置模塊10的輸出生成搜索鏈,并進行查詢,查詢結(jié)果輸出給傳輸控制模塊;所述輪詢控制模塊12用于控制所述循環(huán)輪詢模塊11的狀態(tài)。本發(fā)明采用組合邏輯的循環(huán)輪詢方法,結(jié)合加權(quán)優(yōu)先級設(shè)置,實現(xiàn)了一種快速、高效的多信道調(diào)度方案,從而達到了改善寬帶通訊系統(tǒng)數(shù)據(jù)傳輸性能的目的,有利于通訊系統(tǒng)的效率的提高。
文檔編號H04L12/28GK1466318SQ0211241
公開日2004年1月7日 申請日期2002年7月5日 優(yōu)先權(quán)日2002年7月5日
發(fā)明者譚智雄 申請人:深圳市中興通訊股份有限公司