基于SRAM的核心路由器交換矩陣輸入端口設(shè)計

0引言

隨著光纖通信技術(shù)的飛速發(fā)展,路由器的數(shù)據(jù)處理速度成為網(wǎng)絡(luò)通信的主要瓶頸,交換矩陣作為核心路由器的重要組成部分則嚴(yán)重制約了路由器的傳輸速率。

目前核心路由器交換結(jié)構(gòu)使用較多的有共享內(nèi)存和Crossbar兩種。共享內(nèi)存結(jié)構(gòu)通過共享輸入和輸出端口存儲器件,減少了對總體存儲空間的需求。共享內(nèi)存結(jié)構(gòu)相對簡單,交換效率可根據(jù)需求不斷優(yōu)化。共享內(nèi)存交換結(jié)構(gòu)的交換性能取決于共享內(nèi)存的存取速率,可擴(kuò)展性較差,尤其當(dāng)板卡端口數(shù)量較多時,交換效率有所下降。

Crossbar是一種嚴(yán)格的非阻塞交換結(jié)構(gòu),輸入/輸出之間可建立多條通路。Crossbar采用連接式,即N×N的交叉矩陣。Crossbar使用調(diào)度器,根據(jù)各輸入點(diǎn)相關(guān)的信息,運(yùn)算調(diào)度算法得到輸入和輸出之間的一個匹配,并配置相應(yīng)交叉點(diǎn)。調(diào)度器的效率非常關(guān)鍵,決定了Crossbar的交換速率[1-3],因此調(diào)度算法必須高度完善。但Crossbar同樣存在擴(kuò)展性的問題,即交換矩陣的交叉點(diǎn)會隨著輸入/輸出數(shù)量的增多呈指數(shù)增長。為維持無阻塞交換,需不斷完善和改進(jìn)調(diào)度算法,代價是開發(fā)的技術(shù)成本越來越高,核心交換芯片的面積也越來越大。另外,Crossbar也同樣不能避免排隊仲裁,傳輸效率受到一定影響和限制。但相比共享內(nèi)存結(jié)構(gòu),Crossbar效率和擴(kuò)展性都比較好[4],目前大部分高端路由器都使用Crossbar交換結(jié)構(gòu)。

基于靜態(tài)隨機(jī)存儲器(SRAM)的交換矩陣輸入端口虛擬輸出隊列(VOQ)的設(shè)計同時結(jié)合了共享內(nèi)存和Crossbar兩種交換方式的優(yōu)點(diǎn),將輸入端口中的數(shù)據(jù)緩沖區(qū)移至片外,用高效地調(diào)度算法對虛擬輸出隊列進(jìn)行調(diào)度,可以有效的減小核心交換芯片的面積,并提高數(shù)據(jù)報文的讀取速率。

1系統(tǒng)總體設(shè)計

由于核心路由器交換矩陣硬件實(shí)現(xiàn)簡單,已經(jīng)在越來越多的ATM交換機(jī)和高性能路由器中使用。當(dāng)輸入端口使用單一的FIFO排隊機(jī)制時,HOL(Headof Line)阻塞使得開關(guān)吞吐率最多只能利用58%[5],因此,在目前輸入緩沖的交換設(shè)備中,輸入端口一般采用VOQ虛擬輸出隊列技術(shù),即每個輸入端口為到達(dá)不同輸出端口的信元設(shè)置不同的FIFO隊列。虛擬輸出隊列技術(shù)的采用消除了HOL阻塞。

核心路由器交換矩陣主要由三個模塊組成,即調(diào)度模塊,輸入模塊,輸出模塊。調(diào)度模塊主要用來分析輸入端口的緩存數(shù)據(jù)報文的目的地址,根據(jù)輸入端口各個虛擬輸出隊列的調(diào)度請求,使用iSLIP調(diào)度算法8控制輸入端口與輸出端口之間的連接,防止隊列的鏈頭阻塞[6]。

輸入模塊主要是用來將從線卡上接收的數(shù)據(jù)報文存入不同的基于SRAM的虛擬輸出隊列,同時向調(diào)度器發(fā)出調(diào)度請求,當(dāng)接收到調(diào)度指令后,將報文發(fā)往輸出端口。輸出模塊是用來接收輸入端口發(fā)來的數(shù)據(jù)報文,并將其重新組合成完整的數(shù)據(jù)包發(fā)送出去,同時給調(diào)度器一個反饋指令,交換矩陣的系統(tǒng)框圖如圖1所示。

圖1交換矩陣整體結(jié)構(gòu)

2VOQ虛擬輸出隊列設(shè)計

影響Crossbar交換效率的因素主要是輸入排除鏈頭阻塞問題和調(diào)度算法的選擇。輸入排隊鏈頭阻塞問題的解決方案就是采用給每個輸入到輸出建立一個虛擬緩沖隊列的輸入排隊交換內(nèi)核的體系結(jié)構(gòu),基本思想是每一個輸入端口在其輸入緩沖器中為每一個輸出端口保存一個先進(jìn)先出(FIFO)隊列。對于8×8的交換結(jié)構(gòu),共有8×8個VOQ.到達(dá)輸入端口的信元按照它的輸出端口,置入相應(yīng)的VOQ隊列中。在每個交換時隙,調(diào)度器調(diào)度所有VOQ,使得每一個輸出端口只有一個VOQ接受服務(wù),然后發(fā)送其最前端的分組,不僅消除了由FIFO隊列造成的鏈頭阻塞,更不用考慮設(shè)置加速比問題,VOQ的具體結(jié)構(gòu)如圖2所示。

圖2VOQ虛擬輸出隊列設(shè)計

VOQ方式將目的輸出端口不同的信元放在不同的隊列中緩存,因此發(fā)往不同輸出端口的信元相互不存在HOL阻塞。在某些調(diào)度算法下,VOQ方式可100%獲得交換開關(guān)的利用率。目前CiscoGSR12000,BBNMGR等路由器都采用VOQ方式組織輸入隊列。消除HOL阻塞后,交換開關(guān)仍存在另外兩種阻塞,即輸入端口阻塞和輸出端口阻塞。由同一輸入端口不同VOQ隊列中的信元競爭輸入端口而產(chǎn)生的阻塞稱為輸入端口阻塞,由不同輸入端口的信元競爭同一輸出端口而產(chǎn)生的阻塞稱為輸出端口阻塞。調(diào)度器根據(jù)各輸入端口VOQ隊列的狀態(tài)決定Crossbar內(nèi)部的拓?fù)潢P(guān)系,從而解決上述兩種阻塞[7]。系統(tǒng)主要由交換陣列、調(diào)度器、輸入控制器、輸出控制器和SRAM組成。輸入控制器從線卡接收信元,根據(jù)其目的端口號將其存入雙端口SRAM中,每個輸入端口共8個隊列,分別存放發(fā)往不同輸出端口的信元。輸入端口控制器根據(jù)隊列的空滿情況向調(diào)度器發(fā)出請求[8]。調(diào)度器根據(jù)各輸入端口的請求公平地分配輸出端口,并將調(diào)度結(jié)果傳送到Crossbar交換陣列和各輸入/輸出控制器。輸入端口控制器接收到調(diào)度結(jié)果后,從相應(yīng)的VOQ隊列取出一個信元送交換陣列交換。同時輸出端口控制器根據(jù)調(diào)度結(jié)果,將接收的信元放入相應(yīng)的輸出端口寄存器中。若輸出接口控制器檢測到寄存器中有重組完畢的報文,將報文發(fā)往相應(yīng)的線卡中。

3輸入端口設(shè)計

調(diào)度算法的選擇和輸入排隊鏈頭阻塞問題是影響交換矩陣交換速率的關(guān)鍵因素。i-SLIP調(diào)度算法的硬件實(shí)現(xiàn)比較簡單,并且支持優(yōu)先級調(diào)度,可以很好地滿足調(diào)度的要求。輸入端口VOQ隊列的設(shè)計則可以很好的解決鏈頭阻塞問題,由于輸入端口在交換芯片中占據(jù)了很大的面積,所以將報文緩沖區(qū)移到片外可以顯著地降低交換芯片的面積,輸入端口的設(shè)計如圖3所示。

圖3輸入端口控制器設(shè)計

從線卡傳輸?shù)浇粨Q網(wǎng)絡(luò)輸入端口的數(shù)據(jù)包有著固定的長度,它的長度共有72位,包括6位的包頭和66位的包數(shù)據(jù),其中包頭的前3位是源地址,后3位是目的地址[9]。當(dāng)報文控制器接收到從線卡傳輸來的72位的數(shù)據(jù)包時,便將其存入SRAM中的空地址中,F(xiàn)IFO寄存器是專門用來存放SRAM中的空地址,報文控制器根據(jù)FIFO寄存器的空地址將數(shù)據(jù)包存入到SRAM中,同時更新SRAM地址鏈接表和VOQ尾指針寄存器,以便接收下一個數(shù)據(jù)包。當(dāng)需要從SRAM中讀取數(shù)據(jù)包時,首先根據(jù)VOQ頭指針寄存器找到SRAM地址鏈接表,SRAM地址鏈接表中存放的是數(shù)據(jù)包在SRAM中的地址,然后根據(jù)SRAM地址鏈接表找到需要從SRAM中讀取的數(shù)據(jù)包的地址,從而讀取所需要的數(shù)據(jù),同時更新VOQ頭指針寄存器和SRAM地址鏈接表[10]。

由于報文的頭尾標(biāo)志用2b定義,因此具有很好的故障恢復(fù)能力。例如因此硬件傳輸時受到外界干擾,10標(biāo)志變成n,這時不需任何例外處理,帶來的危害僅僅影響連續(xù)的兩個報文(兩個報文合并成一個)。

4SRAM讀寫測試

交換矩陣輸入端口的設(shè)計取決于能否根據(jù)輸入端口中FIFO寄存器中的空的SRAM的地址和SRAM地址鏈接表準(zhǔn)確地讀取SRAM中的數(shù)據(jù)報文。該輸入端口設(shè)計以AteraDE-115開發(fā)板上的SRAM芯片為基礎(chǔ),編寫SRAM的仿真模型,該芯片的存儲容量為2MB,并在Modelsim中完成了對設(shè)計的驗證。仿真結(jié)果如圖4所示。

圖4SRAM仿真模型測試

5結(jié)語

本文設(shè)計了一個基于SRAM的交換矩陣的輸入端口,該設(shè)計有效的消除了輸入排隊鏈頭阻塞的問題,極大地提高交換開關(guān)的利用率,將輸入端口數(shù)據(jù)報文存放在片外SRAM中,可以顯著降低交換芯片的面積,提高虛擬隊列中數(shù)據(jù)報文的讀取速度,并在Altera開發(fā)板上完成了驗證,系統(tǒng)性能穩(wěn)定,具有很好的應(yīng)用前景與研究意義。

作者:陳騰飛 李開航 來源:《現(xiàn)代電子技術(shù)》


掃碼關(guān)注5G通信官方公眾號,免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息