基于SRAM的核心路由器交換矩陣輸入端口設(shè)計(jì)
VOQ方式將目的輸出端口不同的信元放在不同的隊(duì)列中緩存,因此發(fā)往不同輸出端口的信元相互不存在HOL阻塞。在某些調(diào)度算法下,VOQ方式可100%獲得交換開關(guān)的利用率。目前CiscoGSR12000,BBNMGR等路由器都采用VOQ方式組織輸入隊(duì)列。消除HOL阻塞后,交換開關(guān)仍存在另外兩種阻塞,即輸入端口阻塞和輸出端口阻塞。由同一輸入端口不同VOQ隊(duì)列中的信元競(jìng)爭(zhēng)輸入端口而產(chǎn)生的阻塞稱為輸入端口阻塞,由不同輸入端口的信元競(jìng)爭(zhēng)同一輸出端口而產(chǎn)生的阻塞稱為輸出端口阻塞。調(diào)度器根據(jù)各輸入端口VOQ隊(duì)列的狀態(tài)決定Crossbar內(nèi)部的拓?fù)潢P(guān)系,從而解決上述兩種阻塞[7]。系統(tǒng)主要由交換陣列、調(diào)度器、輸入控制器、輸出控制器和SRAM組成。輸入控制器從線卡接收信元,根據(jù)其目的端口號(hào)將其存入雙端口SRAM中,每個(gè)輸入端口共8個(gè)隊(duì)列,分別存放發(fā)往不同輸出端口的信元。輸入端口控制器根據(jù)隊(duì)列的空滿情況向調(diào)度器發(fā)出請(qǐng)求[8]。調(diào)度器根據(jù)各輸入端口的請(qǐng)求公平地分配輸出端口,并將調(diào)度結(jié)果傳送到Crossbar交換陣列和各輸入/輸出控制器。輸入端口控制器接收到調(diào)度結(jié)果后,從相應(yīng)的VOQ隊(duì)列取出一個(gè)信元送交換陣列交換。同時(shí)輸出端口控制器根據(jù)調(diào)度結(jié)果,將接收的信元放入相應(yīng)的輸出端口寄存器中。若輸出接口控制器檢測(cè)到寄存器中有重組完畢的報(bào)文,將報(bào)文發(fā)往相應(yīng)的線卡中。
本文引用地址:http://www.biyoush.com/article/267505.htm3輸入端口設(shè)計(jì)
調(diào)度算法的選擇和輸入排隊(duì)鏈頭阻塞問(wèn)題是影響交換矩陣交換速率的關(guān)鍵因素。i-SLIP調(diào)度算法的硬件實(shí)現(xiàn)比較簡(jiǎn)單,并且支持優(yōu)先級(jí)調(diào)度,可以很好地滿足調(diào)度的要求。輸入端口VOQ隊(duì)列的設(shè)計(jì)則可以很好的解決鏈頭阻塞問(wèn)題,由于輸入端口在交換芯片中占據(jù)了很大的面積,所以將報(bào)文緩沖區(qū)移到片外可以顯著地降低交換芯片的面積,輸入端口的設(shè)計(jì)如圖3所示。
圖3輸入端口控制器設(shè)計(jì)
從線卡傳輸?shù)浇粨Q網(wǎng)絡(luò)輸入端口的數(shù)據(jù)包有著固定的長(zhǎng)度,它的長(zhǎng)度共有72位,包括6位的包頭和66位的包數(shù)據(jù),其中包頭的前3位是源地址,后3位是目的地址[9]。當(dāng)報(bào)文控制器接收到從線卡傳輸來(lái)的72位的數(shù)據(jù)包時(shí),便將其存入SRAM中的空地址中,F(xiàn)IFO寄存器是專門用來(lái)存放SRAM中的空地址,報(bào)文控制器根據(jù)FIFO寄存器的空地址將數(shù)據(jù)包存入到SRAM中,同時(shí)更新SRAM地址鏈接表和VOQ尾指針寄存器,以便接收下一個(gè)數(shù)據(jù)包。當(dāng)需要從SRAM中讀取數(shù)據(jù)包時(shí),首先根據(jù)VOQ頭指針寄存器找到SRAM地址鏈接表,SRAM地址鏈接表中存放的是數(shù)據(jù)包在SRAM中的地址,然后根據(jù)SRAM地址鏈接表找到需要從SRAM中讀取的數(shù)據(jù)包的地址,從而讀取所需要的數(shù)據(jù),同時(shí)更新VOQ頭指針寄存器和SRAM地址鏈接表[10]。
由于報(bào)文的頭尾標(biāo)志用2b定義,因此具有很好的故障恢復(fù)能力。例如因此硬件傳輸時(shí)受到外界干擾,10標(biāo)志變成n,這時(shí)不需任何例外處理,帶來(lái)的危害僅僅影響連續(xù)的兩個(gè)報(bào)文(兩個(gè)報(bào)文合并成一個(gè))。
4SRAM讀寫測(cè)試
交換矩陣輸入端口的設(shè)計(jì)取決于能否根據(jù)輸入端口中FIFO寄存器中的空的SRAM的地址和SRAM地址鏈接表準(zhǔn)確地讀取SRAM中的數(shù)據(jù)報(bào)文。該輸入端口設(shè)計(jì)以AteraDE-115開發(fā)板上的SRAM芯片為基礎(chǔ),編寫SRAM的仿真模型,該芯片的存儲(chǔ)容量為2MB,并在Modelsim中完成了對(duì)設(shè)計(jì)的驗(yàn)證。仿真結(jié)果如圖4所示。
圖4SRAM仿真模型測(cè)試
5結(jié)語(yǔ)
本文設(shè)計(jì)了一個(gè)基于SRAM的交換矩陣的輸入端口,該設(shè)計(jì)有效的消除了輸入排隊(duì)鏈頭阻塞的問(wèn)題,極大地提高交換開關(guān)的利用率,將輸入端口數(shù)據(jù)報(bào)文存放在片外SRAM中,可以顯著降低交換芯片的面積,提高虛擬隊(duì)列中數(shù)據(jù)報(bào)文的讀取速度,并在Altera開發(fā)板上完成了驗(yàn)證,系統(tǒng)性能穩(wěn)定,具有很好的應(yīng)用前景與研究意義。
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
交換機(jī)相關(guān)文章:交換機(jī)工作原理
評(píng)論