基于SRAM的核心路由器交換矩陣輸入端口設(shè)計(jì)
2 VOQ虛擬輸出隊(duì)列設(shè)計(jì)
影響Crossbar交換效率的因素主要是輸入排除鏈頭阻塞問題和調(diào)度算法的選擇。輸入排隊(duì)鏈頭阻塞問題的解決方案就是采用給每個(gè)輸入到輸出建立一個(gè)虛擬緩沖隊(duì)列的輸入排隊(duì)交換內(nèi)核的體系結(jié)構(gòu),基本思想是每一個(gè)輸入端口在其輸入緩沖器中為每一個(gè)輸出端口保存一個(gè)先進(jìn)先出(FIFO)隊(duì)列。對(duì)于8×8的交換結(jié)構(gòu),共有8×8個(gè)VOQ。到達(dá)輸入端口的信元按照它的輸出端口,置入相應(yīng)的VOQ隊(duì)列中。在每個(gè)交換時(shí)隙,調(diào)度器調(diào)度所有VOQ,使得每一個(gè)輸出端口只有一個(gè)VOQ接受服務(wù),然后發(fā)送其最前端的分組,不僅消除了由FIFO隊(duì)列造成的鏈頭阻塞,更不用考慮設(shè)置加速比問題,VOQ的具體結(jié)構(gòu)如圖2所示。本文引用地址:http://2s4d.com/article/153526.htm
VOQ方式將目的輸出端口不同的信元放在不同的隊(duì)列中緩存,因此發(fā)往不同輸出端口的信元相互不存在HOL阻塞。在某些調(diào)度算法下,VOQ方式可100%獲得交換開關(guān)的利用率。目前Cisco GSR12000,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)系,從而解決上述兩種阻塞。系統(tǒng)主要由交換陣列、調(diào)度器、輸入控制器、輸出控制器和SRAM組成。輸入控制器從線卡接收信元,根據(jù)其目的端口號(hào)將其存入雙端口SRAM中,每個(gè)輸入端口共8個(gè)隊(duì)列,分別存放發(fā)往不同輸出端口的信元。輸入端口控制器根據(jù)隊(duì)列的空滿情況向調(diào)度器發(fā)出請(qǐng)求。調(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)的線卡中。
3 輸入端口設(shè)計(jì)
調(diào)度算法的選擇和輸入排隊(duì)鏈頭阻塞問題是影響交換矩陣交換速率的關(guān)鍵因素。i-SLIP調(diào)度算法的硬件實(shí)現(xiàn)比較簡(jiǎn)單,并且支持優(yōu)先級(jí)調(diào)度,可以很好地滿足調(diào)度的要求。輸入端口VOQ隊(duì)列的設(shè)計(jì)則可以很好的解決鏈頭阻塞問題,由于輸入端口在交換芯片中占據(jù)了很大的面積,所以將報(bào)文緩沖區(qū)移到片外可以顯著地降低交換芯片的面積,輸入端口的設(shè)計(jì)如圖3所示。
評(píng)論