![]() |
| 圖3:PI2封裝示例。通過去除SPI4.2協(xié)議控制字(PCW)并增加ASI報(bào)頭、可選PI0和PI1報(bào)頭以及PI2報(bào)頭,初始SPI4.2突發(fā)數(shù)據(jù)流被轉(zhuǎn)換到ASI TLP之中。 |
VCS4數(shù)據(jù)MUX和地址映射模塊根據(jù)VCS4記錄表RAM規(guī)定的順序從VC FIFO通道讀數(shù)據(jù)。SPI4.2源模塊在必要時(shí)分拆隊(duì)列并重組數(shù)據(jù)包,增加SPI4.2有效載荷控制操作,并通過SPI4.2接口將它們發(fā)往NPU。SPI4.2源模塊也執(zhí)行信用量管理,并根據(jù)從對等的SPI4.2接收器收到的流控制信息進(jìn)行調(diào)度。
ASI提供若干協(xié)議接口(PI),它們提供可選功能或使各種協(xié)議適配到ASI基礎(chǔ)架構(gòu)。
協(xié)議接口描述
PI0封裝被用于多播路由。為0的第二個(gè)PI表示生成樹數(shù)據(jù)包,非0的第二個(gè)PI表示多播路由,多播組尋址通過多播組索引字段實(shí)現(xiàn)。
PI1將連接隊(duì)列識別信息傳遞到下游對等交換單元或端點(diǎn)。當(dāng)發(fā)生擁塞時(shí),下游對等交換單元可以發(fā)送識別上游對等交換單元的違規(guī)連接隊(duì)列的PI5擁塞管理消息。
PI2提供分段和重組(SAR)服務(wù)及封裝。PI2報(bào)頭包含有利于數(shù)據(jù)包描述的包起始(SOP)和包結(jié)束(EOP)信息。此外,PI2封裝規(guī)定了可以在PI2容器內(nèi)排列有效載荷數(shù)據(jù)的可選前置塊(PPD)和末塊(EPD)字節(jié)。
如果SPI4.2突發(fā)數(shù)據(jù)包長度與ASI TLP有效載荷長度相等的話(圖3),PI2封裝可以用于描述數(shù)據(jù)包并將數(shù)據(jù)流映射到關(guān)聯(lián)域(Context)。此時(shí),所接收到的SPI4.2突發(fā)數(shù)據(jù)已經(jīng)被分段為ASI接口支持的有效載荷長度。因此,以數(shù)據(jù)包描述的觀點(diǎn)來看,PI2僅僅需要表示SOP和EOP。
對于中間的突發(fā)數(shù)據(jù),PI2 SAR代碼就是“居中的”。注意,由于非EOP SPI4.2突發(fā)數(shù)據(jù)必須是多個(gè)16字節(jié),所以中間數(shù)據(jù)包SPI4.2有效載荷將始終是32位排列,與ASI有效載荷匹配。。
![]() |
| 圖4:在PI2分段的例子中,SPI4.2數(shù)據(jù)包被分為三個(gè)ASI TLP,去掉了SPI4.2協(xié)議控制字,對于每一個(gè)TLP,ASI報(bào)頭要加上可選的PI0和PI1報(bào)頭及PI2報(bào)頭。 |
對于終端突發(fā)數(shù)據(jù),如果在最后的TLP字中的所有字節(jié)都有效或與末塊終接(terminal with end pad),則PI2 SAR代碼就是“終端”,來表示最后的字中有效字節(jié)的數(shù)目。
如果SPI4.2突發(fā)數(shù)據(jù)包長度超過ASI TLP有效載荷長度的話,PI2 SAR被用于將SPI4.2數(shù)據(jù)包分段和重組。接收到的SPI4.2突發(fā)數(shù)據(jù)包在橋接中被分段為ASI接口支持的有效載荷的長度(圖4)。
至于封裝,三個(gè)TLP的PI2 SAR代碼被分別設(shè)置為代表“初始”、“中間”和“終止”或“末塊終接”。對于重組,來自每一個(gè)關(guān)聯(lián)域的AS片段被重組成完整的數(shù)據(jù)包。一旦獲得完整的數(shù)據(jù)包,它就被映射到一個(gè)SPI4.2通道并在突發(fā)數(shù)據(jù)包中輸出。來自SPI4.2不同通道的突發(fā)數(shù)據(jù)包可以交織在一起。
映射流量類型、等級和目的端口
交換接口必須與數(shù)據(jù)一起傳輸若干重要屬性。這些屬性包括流量類型(單播或多播)、等級、目的端口和擁塞管理。這些參數(shù)都在AS中得到支持。然而,在SPI4.2中,該信息被映射在SPI4.2通道編號中或SPI4.2有效載荷內(nèi)的專有報(bào)頭。
SPI4.2利用三級擁塞指示(空虛、未滿、飽滿)進(jìn)行基于信用量的流控制。通過預(yù)置與空虛和未滿狀態(tài)相對應(yīng)的最大突發(fā)數(shù)據(jù)量(Maxburst1和Maxburst2),發(fā)送器會再次裝滿信用量。
![]() |
| 圖5:典型單10Gbps端口中的雙網(wǎng)絡(luò)處理器及配備專用FIC的全雙工線卡。 |
ASI具有多個(gè)流控制選項(xiàng):VC,它是一個(gè)基于信用量的流控制;用于源速率控制的令牌桶;按照類或者流隊(duì)列的基于狀態(tài)的流控制。
橋接內(nèi)的擁塞管理是橋接架構(gòu)和緩沖機(jī)制的不可缺少的組成部分。橋接可以采用兩種基本架構(gòu),或者采用具有很少或沒有緩沖的直通(flow-through),或者每一個(gè)接口采用單級或兩級緩沖。
在直通架構(gòu)中,流控制信息被生成并在外部作用于橋上。該方法簡化了橋的設(shè)計(jì),但是,增加了源和流控制的目的端口之間的延遲時(shí)間,因此可能需要增加緩沖資源。
在有緩沖的架構(gòu)中,橋接本身遵照流控制信息,因此需要內(nèi)部緩沖。內(nèi)部橋接緩沖可以由兩個(gè)接口共享(單級),或每一個(gè)接口配備自己的關(guān)聯(lián)緩沖器,稱為兩級緩沖處理。
入口網(wǎng)絡(luò)處理器接收端口被配置為物理器件接口的SPI4,而發(fā)送端口被配置為交換接口的SPI4.2,連接到專有的FIC(圖5)。FIC支持全雙工SPI4.2接口和多達(dá)24個(gè)速率為2.5Gbps的全雙工PCI Express SERDES(串行化/解串化)鏈路,一個(gè)10Gbps的全雙工鏈路端口需要4個(gè)SERDES鏈路。不用的SERDES鏈路可以通過器件配置寄存器的設(shè)置來關(guān)閉供電。在這個(gè)10Gbps的例子中,NPU通過PCI本地總線接口配置EP1SGX40內(nèi)部的“配置和狀態(tài)”寄存器。
專有FIC參考設(shè)計(jì)
專有FIC參考設(shè)計(jì)平臺是采用英特爾的IXDP2401先進(jìn)開發(fā)平臺設(shè)計(jì)和驗(yàn)證的。AdvancedTCA機(jī)架把連接AdvancedTCA高速交換接口的兩個(gè)IXMB2401網(wǎng)絡(luò)處理器承載卡(carrier card)互連起來,承載卡是采用一塊IXP2400處理器設(shè)計(jì)的PICMG3.x兼容板。承載卡采用標(biāo)準(zhǔn)組件結(jié)構(gòu),包含4個(gè)子卡槽位和一個(gè)可選交換接口子卡槽位,以便連接到AdvancedTCA背板上區(qū)域2的交換接口引腳。
專有的、基于FPGA的交換接口子卡(mezzanine card)槽位的設(shè)計(jì)使其可插入承載卡,并提供一個(gè)可重配置的FIC和可選的流量管理開發(fā)板。FIC使處理器與AdvancedTCA交換結(jié)構(gòu)相互連接。利用包含兼容PCI Express與XAUI的多通道收發(fā)器的可重復(fù)編程器件,可以提供可擴(kuò)展的開發(fā)平臺,以便快速設(shè)計(jì)和驗(yàn)證2.5Gbps到10Gbps的AdvancedTCA FIC設(shè)計(jì)(圖6)。
工作模式
參考設(shè)計(jì)的主要工作模式接收來自處理器入口端的32位SPI3或16位SPI4.2數(shù)據(jù),通過FPGA集成收發(fā)器將數(shù)據(jù)流傳輸?shù)紸dvancedTCA背板,并將背板數(shù)據(jù)流通過32位SPI3或16位SPI4.2接口傳回處理器的出口端。
集成收發(fā)器經(jīng)由處理器的SlowPort出口來配置。參考設(shè)計(jì)支持若干其它工作模式,包括SPI4.2接口環(huán)回、ASI接口環(huán)回、流量管理、交換結(jié)構(gòu)數(shù)據(jù)包生成和監(jiān)測。
FPGA和結(jié)構(gòu)化ASIC FIC
采用專有的多FPGA和結(jié)構(gòu)化ASIC技術(shù),可以開發(fā)可擴(kuò)展的PCI Express、ASI橋和端點(diǎn)。內(nèi)建兼容PCI Express收發(fā)器的高密度、高性能的FPGA,可以提供:1. 具有可擴(kuò)展的2.5鏈路的整體解決方案;2. 對每一個(gè)通道運(yùn)行速率高達(dá)1Gbps的接口進(jìn)行動(dòng)態(tài)相位校正(DPA);3. 多種封裝選擇和高達(dá)40,000邏輯單元的密度選項(xiàng)。








