專利名稱:輸入緩沖分布式調(diào)度的交叉開關(guān)交換電路的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及數(shù)據(jù)交換——一種輸入緩沖分布式交叉開關(guān)結(jié)構(gòu)的數(shù)據(jù)交換電路,這種電路可用作交換機(jī)、路由器和集線器的核心電路部件,也可用作超級(jí)計(jì)算機(jī)中處理器互連的路由結(jié)構(gòu)。
技術(shù)背景流行的商業(yè)交換機(jī)和路由器經(jīng)常采用輸出緩沖輸出調(diào)度的總線結(jié)構(gòu)或交叉開關(guān)結(jié)構(gòu),保證輸入數(shù)據(jù)能安全可靠傳輸?shù)捷敵鼍彌_區(qū),在緩沖區(qū)不溢出的情況下不發(fā)生丟包現(xiàn)象。由于這種結(jié)構(gòu)的輸出端口的緩沖器至少需要相當(dāng)于所有輸入端口速率總和的緩沖速度,當(dāng)輸入端口較多時(shí)這種結(jié)構(gòu)的成本非常高。為了降低成本同時(shí)又能保證可靠性,二十世紀(jì)九十年代以后提出了一系列基于輸入輸出同速度的調(diào)度算法,如PIM(并行迭代匹配)、iSLIP(Iterative Round Robin Matching with Slip)、iLQF(iterative Longest Queue First)、iOCF(iterative Oldest CellFirst)、iLPF(iterative Longest Port First)、TSA(Two Step Arbiter)、Shakeup、DRRM(Dual Round-robin Matching)、Parallel Polling、MNCM(maximum node containing matching)等調(diào)度算法,這些算法的時(shí)間復(fù)雜度在O(NlogN)及以上,調(diào)度延時(shí)大,而且這些算法硬件實(shí)現(xiàn)較復(fù)雜,成本較高。虛電路交換在建立鏈路后數(shù)據(jù)傳輸非???,但建立鏈路和撤銷鏈路的時(shí)間都很長(zhǎng),鏈路利用率低。
發(fā)明內(nèi)容
本實(shí)用新型的目的是解決快速調(diào)度、時(shí)鐘轉(zhuǎn)換、幀的流水傳輸和交換設(shè)備級(jí)聯(lián)擴(kuò)展等問題,同時(shí)使硬件成本保持非常低的水平,而提供一種輸入緩沖分布式調(diào)度的交叉開關(guān)交換電路。
圖1是四輸入端口四輸出端口的輸入緩沖分布式調(diào)度的交叉開關(guān)結(jié)構(gòu)交換電路。
本實(shí)用新型,是對(duì)虛電路交換電路和輸入緩沖交換電路的改進(jìn)。該電路實(shí)現(xiàn)數(shù)據(jù)交換功能,利用部分單元(RAM塊)實(shí)現(xiàn)雙時(shí)鐘同步FIFO(先進(jìn)先出)緩沖器,對(duì)輸入數(shù)據(jù)進(jìn)行緩沖;用多路選擇器實(shí)現(xiàn)交叉開關(guān)交換。每個(gè)輸入端口的數(shù)據(jù)進(jìn)入雙時(shí)鐘同步FIFO進(jìn)行緩沖,同時(shí)完成時(shí)鐘轉(zhuǎn)換;譯碼器根據(jù)幀頭進(jìn)行端口譯碼,向輸出端口發(fā)送輸出端口使用請(qǐng)求;輸出端口調(diào)度部件(仲裁器)根據(jù)輸入端口來的請(qǐng)求進(jìn)行仲裁,確定哪個(gè)輸入端口得到響應(yīng),選通多路開關(guān)的對(duì)應(yīng)開關(guān),并向輸入端口回傳響應(yīng)信息;得到響應(yīng)的輸入端口向數(shù)據(jù)總線發(fā)送數(shù)據(jù),數(shù)據(jù)經(jīng)過連通的交叉開關(guān)到達(dá)相應(yīng)的輸出端口,完成一次數(shù)據(jù)傳輸。在整個(gè)傳輸過程中,由控制器進(jìn)行流量控制。
4輸入端口4輸出端口的交換電路如附圖1所示。在圖1中,左邊的輸入數(shù)據(jù)和信號(hào)來自于輸入端口,右邊的輸出數(shù)據(jù)和信號(hào)發(fā)送到輸出端口,圖中的數(shù)字分別代表與各個(gè)端口相關(guān)的組件。
圖1中,具有四組電路結(jié)構(gòu),每組具有先進(jìn)先出緩沖器(FIFO)1、譯碼器2、控制器3以及多路開關(guān)4、仲裁器5和響應(yīng)及流控電路6。其中,先進(jìn)先出緩沖器1輸出分別連接于譯碼器2和多路開關(guān)4,譯碼器2輸出分別連接于控制器3和仲裁器5,仲裁器5連接于多路開關(guān)4和響應(yīng)及流控電路6,響應(yīng)及流控電路6輸出連接于控制器3,控制器3輸出連接于先進(jìn)先出緩沖器1。
用這種電路交換數(shù)據(jù)解決了以下難題降低設(shè)備成本、快速調(diào)度、時(shí)鐘切換、幀的流水傳輸和交換設(shè)備級(jí)聯(lián)擴(kuò)展。一個(gè)有N個(gè)輸入端口的交換社備有N個(gè)不同的輸入時(shí)鐘,而一個(gè)調(diào)度部件只能依據(jù)一個(gè)時(shí)鐘進(jìn)行操作,因此必須進(jìn)行時(shí)鐘切換。本實(shí)用新型采用雙時(shí)鐘同步先進(jìn)先出存儲(chǔ)器作緩沖器,緩沖器的寫時(shí)鐘為輸入端口時(shí)鐘,讀時(shí)鐘為板上全局時(shí)鐘,這樣就解決了時(shí)鐘隔離與切換。采用先進(jìn)先出存儲(chǔ)器實(shí)現(xiàn)了輸入緩沖功能,并利用存儲(chǔ)器的使用情況對(duì)輸入端口進(jìn)行水線流量控制(當(dāng)存儲(chǔ)器使用情況超過某個(gè)上限預(yù)定值時(shí)要求輸入端口停止發(fā)送,當(dāng)?shù)陀谀硞€(gè)下限設(shè)定值時(shí)可以繼續(xù)發(fā)送,在上下限之間的區(qū)間內(nèi)能否發(fā)送與進(jìn)入此區(qū)間前的狀態(tài)一致)。這種流量控制機(jī)制比設(shè)備間采用異步應(yīng)答方式的交換機(jī)提高了鏈路的利用率和加快傳輸速度。由于輸入數(shù)據(jù)從寫入FIFO到從FIFO讀端口看到數(shù)據(jù)寫入只需要三個(gè)時(shí)鐘周期(即當(dāng)FIFO中沒有數(shù)據(jù)時(shí)從寫入新數(shù)據(jù)到立即讀出只需要四個(gè)時(shí)鐘周期),這樣在傳輸時(shí)比虛電路僅增加極小的延時(shí),但獲得了便利的控制,實(shí)現(xiàn)了虛切入(CutThrough)傳輸方式,實(shí)現(xiàn)了幀的流水傳輸,同時(shí)使交換機(jī)級(jí)聯(lián)擴(kuò)展非常容易。為了減小調(diào)度時(shí)間,本實(shí)用新型采用分布式仲裁部件進(jìn)行調(diào)度。為了進(jìn)一步加快調(diào)度速度,本實(shí)用新型在一個(gè)時(shí)鐘周期內(nèi)完成帶初始化值的輪詢(Round Robin)調(diào)度(見附表2),大大縮短了交換延時(shí),極大提高了幀交換效率。由于每個(gè)輸入端口只有一個(gè)隊(duì)列作緩沖,輸出沒有緩沖,雖然共有N個(gè)調(diào)度器,但每個(gè)調(diào)度器占用的邏輯很少,因此硬件成本非常低。
附表二帶初始化值的輪詢(Round Robin)調(diào)度算法的Verilog語(yǔ)言描述<pre listing-type="program-listing">input[N-1:0] request_i;//N個(gè)輸入端口對(duì)第i個(gè)輸出端口的使用請(qǐng)求,輸入信號(hào)output[N-1:0] acknowledge_i;<dp n="d3"/>//第i個(gè)輸出端口對(duì)N個(gè)輸入端口請(qǐng)求的響應(yīng),輸出信號(hào)reg[N-1:0] state;//當(dāng)前狀態(tài),用寄存器存儲(chǔ)always @(posedge clock) //在全局時(shí)鐘的上升沿case(state)沒有端口進(jìn)行傳輸beginif(request_i[i+1]==1) //第i+1個(gè)輸入端口有請(qǐng)求beginstate=第i+1個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸;acknowledge_i=1<<(i+1);//給第i+1個(gè)輸入端口響應(yīng)endelse if(request_i[i+2]==1) //第i+2個(gè)輸入端口有請(qǐng)求 beginstate=第i+2個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸;acknowledge_i=1<<(i+2);end<dp n="d4"/>//各端口的優(yōu)先級(jí)別按i+1、i+2、i+3、……、N-1、0、//1、2、……、i-1、i依次降低else if(request_i[i-1]==1) //第i-1個(gè)輸入端口有請(qǐng)求 beginstate=第i-1個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸;acknowledge_i=1<<(i-1);endelse if(request_i[i]==1) //第i個(gè)輸入端口有請(qǐng)求beginstate=第i個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸;acknowledge_i=1<<i;end end第0個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸beginif(request_i[0]==0)//端口0撤銷請(qǐng)求begin if(request_i[1]==1) begin<dp n="d5"/> state=第1個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸; acknowledge_i=1<<1; end else if(request_i[2]==1) begin state=第2個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸; acknowledge_i=1<<2; end else if(request_i[N-1]==1) begin state=第N-1個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸; acknowledge_i=1<<(N-1); end else begin state=?jīng)]有端口進(jìn)行傳輸; acknowledge_i=0; end<dp n="d6"/>endend第N-1個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸beginif(request_i[N-1]==0)//端口N-1撤銷請(qǐng)求begin if(request_i[0]==1) begin state=第0個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸; acknowledge_i=1; end else if(request_i[1]==1) begin state=第1個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸; acknowledge_i=1<<1; end else if(request_i[N-2]==1)<dp n="d7"/> beginstate=第N-2個(gè)輸入端口與第i個(gè)輸出端口進(jìn)行傳輸;acknowledge_i=1<<(N-2); end else begin state=?jīng)]有端口進(jìn)行傳輸;acknowledge_i=0; end end endendcase………………………………</pre>
具體實(shí)施方式
用FPGA芯片Altera APEX20K200E實(shí)現(xiàn)4輸入端口4輸出端口交叉開關(guān)交換機(jī),交換機(jī)板上全局時(shí)鐘為33Mhz(時(shí)鐘周期為30納秒)時(shí),完成一次調(diào)度的時(shí)間為7.8納秒,在沒有阻塞的情況下幀從進(jìn)入交換芯片到出來交換芯片的時(shí)間為210納秒(7個(gè)時(shí)鐘周期),遠(yuǎn)小于商業(yè)交換機(jī)的延時(shí)。
…本實(shí)用新型涉及一種輸入緩沖分布式調(diào)度的交叉開關(guān)結(jié)構(gòu)交換電路,是一種交叉開關(guān)結(jié)構(gòu)的電路交換單位,這種電路可用作交換機(jī)、路由器和集線器的核心電路部件,也可用作超級(jí)計(jì)算機(jī)中處理器互連的路由設(shè)備。該電路實(shí)現(xiàn)數(shù)據(jù)交換功能,利用部分單元實(shí)現(xiàn)雙時(shí)鐘同步先進(jìn)先出存儲(chǔ)器,對(duì)輸入數(shù)據(jù)進(jìn)行緩沖,實(shí)現(xiàn)水線流量控制;用多路選擇器實(shí)現(xiàn)交叉開關(guān)交換。每個(gè)輸入端口根據(jù)幀頭進(jìn)行端口譯碼,向輸出端口發(fā)送鏈路使用請(qǐng)求,輸出端口調(diào)度部件根據(jù)輸入端口來的請(qǐng)求進(jìn)行仲裁(在一個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)帶初始化值的輪循調(diào)度),得到響應(yīng)的輸入端口與相應(yīng)的輸出端口建立鏈路,完成數(shù)據(jù)的傳輸。
權(quán)利要求1.一種輸入緩沖分布式調(diào)度的交叉開關(guān)結(jié)構(gòu)交換電路,其特征是采用雙時(shí)鐘先進(jìn)先出存儲(chǔ)器作為輸入緩沖器,采用水線流量控制,采用分布式調(diào)度并在一個(gè)時(shí)鐘周期內(nèi)完成一次帶初始化值的輪循交換調(diào)度。
2.根據(jù)權(quán)利要求1所述的輸入緩沖分布式調(diào)度的交叉開關(guān)結(jié)構(gòu)交換電路,調(diào)度算法的硬件實(shí)現(xiàn),即在一個(gè)時(shí)鐘周期內(nèi)完成帶初始化值的輪循調(diào)度的硬件實(shí)現(xiàn)。
3.根據(jù)權(quán)利要求1所述的輸入緩沖分布式調(diào)度的交叉開關(guān)結(jié)構(gòu)交換電路,由先進(jìn)先出緩沖器(FIFO)1、譯碼器2、控制器3以及多路開關(guān)4、仲裁器5和響應(yīng)及流控電路6組成,其特征在于,先進(jìn)先出緩沖器1輸出分別連接于譯碼器2和多路開關(guān)4,譯碼器2輸出分別連接于控制器3和仲裁器5,仲裁器5連接于多路開關(guān)4和響應(yīng)及流控電路6,響應(yīng)及流控電路6輸出連接于控制器3,控制器3輸出連接于先進(jìn)先出緩沖器1。
專利摘要本實(shí)用新型涉及一種輸入緩沖分布式調(diào)度的交叉開關(guān)結(jié)構(gòu)交換電路,由先進(jìn)先出緩沖器(FIFO)1、譯碼器2、控制器3以及多路開關(guān)4、仲裁器5和響應(yīng)及流控電路6組成。是一種交叉開關(guān)結(jié)構(gòu)的電路交換單位,這種電路可用作交換機(jī)、路由器和集線器的核心電路部件,也可用作超級(jí)計(jì)算機(jī)中處理器互連的路由設(shè)備。該電路實(shí)現(xiàn)數(shù)據(jù)交換功能,利用部分單元實(shí)現(xiàn)雙時(shí)鐘同步先進(jìn)先出存儲(chǔ)器,對(duì)輸入數(shù)據(jù)進(jìn)行緩沖,實(shí)現(xiàn)水線流量控制;用多路選擇器實(shí)現(xiàn)交叉開關(guān)交換。每個(gè)輸入端口根據(jù)幀頭進(jìn)行端口譯碼,向輸出端口發(fā)送鏈路使用請(qǐng)求,輸出端口調(diào)度部件根據(jù)輸入端口來的請(qǐng)求進(jìn)行仲裁,得到響應(yīng)的輸入端口與相應(yīng)的輸出端口建立鏈路,完成數(shù)據(jù)的傳輸。
文檔編號(hào)H04L12/24GK2650400SQ200320100659
公開日2004年10月20日 申請(qǐng)日期2003年11月19日 優(yōu)先權(quán)日2003年11月19日
發(fā)明者胡明昌, 史崗, 唐志敏 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所