??? 摘? 要: 一種基于反饋的信元交換控制系統(tǒng)的設(shè)計與FPGA電路的實現(xiàn),該系統(tǒng)采用反饋機制,通過引入較小的硬件開銷和時間開銷,使系統(tǒng)丟失率達(dá)到10-9量級,從而與通信鏈路(光纖)中的丟失率相匹配。高度并行的尋徑方式有效降低了對硬件電路的速率要求。?
??? 關(guān)鍵詞: 交換結(jié)構(gòu)? 尋徑? 反饋? 丟失率
?
??? 大容量、低阻塞的交換機(路由器)一直是通信領(lǐng)域中所期望的。文獻(xiàn)[1]、[2]基于廣義Knockout原理和“滾動”(rolling)技術(shù)提出了一種可擴展的分組Crossbar交換網(wǎng)絡(luò),其信元丟失率可達(dá)10-7左右。但在IP網(wǎng)絡(luò)中,數(shù)字終端的誤碼率低于10-12量級,傳輸鏈路(光纖)的誤碼率達(dá)到10-9,為了使交換機不成為帶寬瓶頸,要求其丟失率與傳輸鏈路匹配。本文給出了一種基于反饋的分組Crossbar交換結(jié)構(gòu),其丟失率可達(dá)10-9[3],并給出了其控制系統(tǒng)的具體電路設(shè)計。?
1? 信元交換結(jié)構(gòu)?
??? 本文采用一種帶反饋的可擴展分組Crossbar交換網(wǎng)絡(luò),如圖1所示(以128端口為例)。分組Crossbar交換網(wǎng)絡(luò)采用若干小Crossbar交換矩陣構(gòu)成大規(guī)模的交換網(wǎng)絡(luò),具有良好的可擴展性。本交換結(jié)構(gòu)由輸入擴展單元、交換矩陣、輸出集中單元及交換控制系統(tǒng)組成。輸入擴展單元接收封裝好的信元并對其進(jìn)行1:4的擴展;輸出集中單元再進(jìn)行4:1的集中,并提供信元的輸出排隊緩存;交換矩陣由4個分組組成,每個分組里有8個16×16小Crossbar。將一個分組中的小Crossbar的一部分端口(4~15端口)作為交換機提供給用戶的實際端口,另一部分(0~3端口)則用以構(gòu)成輸出到輸入的反饋通道。由于只需要提供4個反饋線,因而只將每個分組中第一個小Crossbar的4個輸出口反饋至輸入端。4個反饋輸出端口與反饋輸入端通過輸入緩沖相聯(lián)系。同時,每個小Crossbar的輸入端仍為16個。這樣,每一個小Crossbar實現(xiàn)了16×12的交換功能。?
?
?
2 交換控制系統(tǒng)及其實現(xiàn)?
??? 交換控制系統(tǒng)根據(jù)輸入擴展單元傳來的尋徑請求信號進(jìn)行并行尋徑處理,將所得到的控制信號輸出到交換矩陣。交換控制系統(tǒng)硬件組成如圖2所示。其基本原理是:存儲一張記錄鏈路占用情況的忙/閑狀態(tài)表,初始時所有鏈路均為空閑。在一個信元周期內(nèi),每輸入一個尋徑請求,就檢查所需鏈路的忙/閑狀態(tài),若空閑則將該鏈路分配給尋徑控制器,并且將鏈路標(biāo)識為忙狀態(tài);在每個信元周期結(jié)束前將鏈路全部設(shè)為空閑狀態(tài),以便在下個信元周期重新尋徑。若在某一個信元周期內(nèi)有輸入請求向量無法得到滿足時,則將該請求向量保存下來,并產(chǎn)生未分配標(biāo)識向量輸出至交換核,然后將未分配請求向量置于尋徑控制器輸入接口的FIFO隊首。?
?
?
2.1 尋徑控制器?
??? 尋徑控制器是交換控制系統(tǒng)的核心,它負(fù)責(zé)接收輸入請求分配單元傳遞過來的請求向量,對鏈路忙/閑狀態(tài)進(jìn)行查詢后,產(chǎn)生連接控制信號,送給交換系統(tǒng)以控制信元交換。尋徑控制器的結(jié)構(gòu)如圖3所示。交換控制系統(tǒng)由4個分組控制器級聯(lián)而成(分別對應(yīng)于4個分組),每個子單元由小空分開關(guān)(SW)、16×16開關(guān)列陣控制器(SAC)、輸入串并和輸出并串模塊構(gòu)成。其中,完成尋徑操作的主要部分是16×16開關(guān)列陣控制器(如圖4所示),每個控制器產(chǎn)生對應(yīng)的交換模塊中的一個16×16開關(guān)的控制信號。它負(fù)責(zé)查詢交叉連接矩陣的忙閑狀態(tài),根據(jù)請求滿足與否修改忙閑狀態(tài),并產(chǎn)生連接控制信號和下一個分組的輸入請求向量。?
?
?
?
2.2 反饋請求向量處理單元?
??? 反饋請求向量處理單元結(jié)構(gòu)如圖5所示。每個信元周期內(nèi)輸入的所有請求向量均輪流通過4個級聯(lián)的分組控制器之后,由反饋請求向量處理單元根據(jù)未分配標(biāo)識向量(16位)將4次請求都沒有得到滿足的那些請求向量保存下來,并將其置于輸入接口的FIFO隊首,使其在下個信元周期內(nèi)能首先得到滿足。同時,反饋請求向量處理單元會查找出這些請求向量的源端口。由于每個分組中最多只能反饋4個信元,所以,只有16位未分配標(biāo)識向量中前4個為“1”的比特所對應(yīng)的請求向量能夠得以反饋。例如,設(shè)未分配標(biāo)識向量為“0010 1010 0101 0100”,那么先出現(xiàn)的4個“1”比特位的位置分別是“2”、“4”、“6”、“9”,得到的反饋端口標(biāo)識即為“0010 0100 0110 1001”。同時,相應(yīng)這4個端口的尋徑請求向量也被保存下來。?
?
?
2.3 交換控制系統(tǒng)的工作流程?
??? 尋徑控制器按照流水線方式并行工作,尋徑結(jié)束后由反饋請求向量處理單元進(jìn)行處理。在128端口地交換機中,來自輸入接口的128個尋徑請求向量(包括反饋回來的請求向量)被分為4個分組,分別對應(yīng)于交換矩陣的4個分組,這4個分組之間可以并行地進(jìn)行尋徑。在圖3中可以清楚地看到,4個分組首尾相聯(lián)構(gòu)成環(huán)形的管道,保證每個請求向量均可先后查詢4個分組中的鏈路忙閑狀態(tài),即獲得4次尋徑的機會。而在每個分組中,請求向量又可以分為8個組(每組4個請求向量),分別對應(yīng)于圖3中每個分組中的8個開關(guān)矩陣控制器SAC#0~#7。這8組請求向量也是完全獨立地并行尋徑,這種高度并行的尋徑方式可以在很少的時隙(16個時隙)內(nèi)完成128路請求向量的尋徑工作(且每個請求向量均有4次尋徑機會),從而有效降低了電路的速率要求。為方便起見,我們討論一個管道(不妨設(shè)為每組中的SAC#0所構(gòu)成的管道)內(nèi)16路尋徑請求向量的尋徑過程,把它們標(biāo)識為:ABCD(第一組);EFGH(第二組);IJKL(第三組);MNOP(第四組)。其16個時隙(每個時隙對4路向量并行尋徑)內(nèi)的尋徑流程即為:AEIM—BFJN-CGKO-DHLP-MAEI-NBFJ-OCGK-PDHL-IMAE-JNBF-KOCG-LPDH-EIMA-FJNB-GKOC-HLPD。在尋徑過程中,鏈路控制器根據(jù)鏈路的忙閑狀態(tài)對輸入尋徑請求進(jìn)行響應(yīng):如果鏈路空閑,控制器則將其置為“忙”,并向交換矩陣輸出連接控制信號,同時將向下一單元輸出無效請求信號(全“0”);如果鏈路狀態(tài)為“忙”,則將尋徑請求繼續(xù)送往下一單元。?
??? 最后4個時隙所產(chǎn)生的輸出向量已經(jīng)通過所有4組開關(guān)控制器,將這16路輸出向量用寄存器保存下來送入反饋請求向量處理單元,由反饋請求向量處理單元選出前4路沒有尋徑成功的請求向量,在下一個信元周期內(nèi)繼續(xù)尋徑(反饋請求向量處理單元工作原理見2.2節(jié))。?
3 FPGA電路的實現(xiàn)結(jié)果?
??? 本控制模塊采用Altera公司的Quartus Ⅱ1.0軟件完成設(shè)計過程,并得到了整個控制模塊的實時模擬波形,如圖6所示。波形圖證實該模塊能成功完成交換控制功能。在此基礎(chǔ)上,使用Altera公司的APEXTM? EP20K100EQC240-2X芯片完成了電路的實現(xiàn),經(jīng)過調(diào)試,達(dá)到了所需完成的功能。?
?
?
參考文獻(xiàn)?
1 Y. Yeh, M. G, Hluchyj and A. S. Acampora. The?Knockout Switch: A Simple?Modulor Architecture for Highperformance Packet Switching.IEEE JSAC, 1987;5(8):1274~1283?
2 K. Y. Eng, M. J. Karol and?Y. S. Yeh. A Growable Packet(ATM) Switch Architecture:Design Principles and Applications. IEEE Trans. on?Commun.,1992;40(2):423~430?
3 吳江東.大容量MPLS交換路由器系統(tǒng)結(jié)構(gòu)及交換結(jié)構(gòu)的研究:[碩士學(xué)位論文].武漢:華中科技大學(xué)激光技術(shù)國家重點實驗室,2000