基于SRAM的核心路由器交換矩陣輸入端口設計
摘要:交換矩陣是核心路由器的重要組成部分,為了避免來自不同輸入端口的信元同時發(fā)往同一個輸出端口,需要在輸入端口設置緩沖區(qū),即輸入排隊交換結構?;陟o態(tài)隨機存儲器完成了交換矩陣輸入端口虛擬輸出隊列(VOQ)的設計,該設計可以降低核心路由器交換芯片的面積,提高輸入端口緩沖區(qū)信元的響應速率,并通過DE-115開發(fā)板完成對設計的驗證。
關鍵詞:交換矩陣;輸入端口;VOQ;SRAM
0 引言
隨著光纖通信技術的飛速發(fā)展,路由器的數(shù)據(jù)處理速度成為網(wǎng)絡通信的主要瓶頸,交換矩陣作為核心路由器的重要組成部分則嚴重制約了路由器的傳輸速率。目前核心路由器交換結構使用較多的有共享內(nèi)存和Crossbar兩種。共享內(nèi)存結構通過共享輸入和輸出端口存儲器件,減少了對總體存儲空間的需求。共享內(nèi)存結構相對簡單,交換效率可根據(jù)需求不斷優(yōu)化。共享內(nèi)存交換結構的交換性能取決于共享內(nèi)存的存取速率,可擴展性較差,尤其當板卡端口數(shù)量較多時,交換效率有所下降。
Crossbar是一種嚴格的非阻塞交換結構,輸入/輸出之間可建立多條通路。Crossbar采用連接式,即N×N的交叉矩陣。Crossbar使用調(diào)度器,根據(jù)各輸入點相關的信息,運算調(diào)度算法得到輸入和輸出之間的一個匹配,并配置相應交叉點。調(diào)度器的效率非常關鍵,決定了Cross bar的交換速率,因此調(diào)度算法必須高度完善。但Crossbar同樣存在擴展性的問題,即交換矩陣的交叉點會隨著輸入/輸出數(shù)量的增多呈指數(shù)增長。為維持無阻塞交換,需不斷完善和改進調(diào)度算法,代價是開發(fā)的技術成本越來越高,核心交換芯片的面積也越來越大。另外,Cross bar也同樣不能避免排隊仲裁,傳輸效率受到一定影響和限制。但相比共享內(nèi)存結構,Crossbar效率和擴展性都比較好,目前大部分高端路由器都使用Crossbar交換結構。
基于靜態(tài)隨機存儲器(SRAM)的交換矩陣輸入端口虛擬輸出隊列(VOQ)的設計同時結合了共享內(nèi)存和Crossbar兩種交換方式的優(yōu)點,將輸入端口中的數(shù)據(jù)緩沖區(qū)移至片外,用高效地調(diào)度算法對虛擬輸出隊列進行調(diào)度,可以有效的減小核心交換芯片的面積,并提高數(shù)據(jù)報文的讀取速率。
1 系統(tǒng)總體設計
由于核心路由器交換矩陣硬件實現(xiàn)簡單,已經(jīng)在越來越多的ATM交換機和高性能路由器中使用。當輸入端口使用單一的FIFO排隊機制時,HOL(Head of Line)阻塞使得開關吞吐率最多只能利用58%,因此,在目前輸入緩沖的交換設備中,輸入端口一般采用VOQ虛擬輸出隊列技術,即每個輸入端口為到達不同輸出端口的信元設置不同的FIFO隊列。虛擬輸出隊列技術的采用消除了HOL阻塞。
核心路由器交換矩陣主要由三個模塊組成,即調(diào)度模塊,輸入模塊,輸出模塊。調(diào)度模塊主要用來分析輸入端口的緩存數(shù)據(jù)報文的目的地址,根據(jù)輸入端口各個虛擬輸出隊列的調(diào)度請求,使用iSLIP調(diào)度算法8控制輸入端口與輸出端口之間的連接,防止隊列的鏈頭阻塞。輸入模塊主要是用來將從線卡上接收的數(shù)據(jù)報文存入不同的基于SRAM的虛擬輸出隊列,同時向調(diào)度器發(fā)出調(diào)度請求,當接收到調(diào)度指令后,將報文發(fā)往輸出端口。輸出模塊是用來接收輸入端口發(fā)來的數(shù)據(jù)報文,并將其重新組合成完整的數(shù)據(jù)包發(fā)送出去,同時給調(diào)度器一個反饋指令,交換矩陣的系統(tǒng)框圖如圖1所示。
評論