基于cioq結(jié)構(gòu)的千兆afdx交換機(jī)及其交換方法
【專利摘要】一種基于CIOQ結(jié)構(gòu)的千兆AFDX交換機(jī),包括N個輸入端口、對應(yīng)每個輸入端口下的輸入虛擬隊(duì)列、虛擬鏈路配置表、集中調(diào)度模塊、K個并行交叉開關(guān)矩陣、對應(yīng)每個交叉開關(guān)矩陣下的單信元寄存器、輸出端口控制器、N個輸出端口和對應(yīng)每個輸出端口下的輸出緩存隊(duì)列。本發(fā)明不僅可以滿足現(xiàn)有AFDX交換機(jī)的全線速、單播多播、確定性延時、兩級優(yōu)先級等要求,并且可以實(shí)現(xiàn)24口全千兆交換;減少了共享緩存結(jié)構(gòu)對內(nèi)部存儲帶寬的限制,在不增大存儲器位寬情況下總體交換容量可以達(dá)到48Gbps;本發(fā)明中涉及的存儲和緩沖單元為片上存儲資源,不需要外部存儲器和接口,降低了硬件消耗,節(jié)省成本。
【專利說明】
基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī)及其交換方法
技術(shù)領(lǐng)域
:
[0001 ]本發(fā)明涉及航空電子技術(shù)領(lǐng)域,特別涉及一種千兆AFDX交換機(jī)及其交換方法。
【背景技術(shù)】
:
[0002]在高速數(shù)據(jù)交換領(lǐng)域,交換式以太網(wǎng)數(shù)據(jù)傳輸速率已經(jīng)達(dá)到40G甚至10GbpsJS是由于802.3協(xié)議的非確定性、數(shù)據(jù)包沒有優(yōu)先級機(jī)制、地址表的學(xué)習(xí)老化機(jī)制等缺陷,造成數(shù)據(jù)傳輸?shù)膶?shí)時性、時延、可靠性難以得到保證。為此,ARINC 664規(guī)范的第七部分定義了名為AFDX的全雙工、確定性、可擴(kuò)充、通道冗余的數(shù)據(jù)網(wǎng)絡(luò),廣泛用于航空數(shù)據(jù)交換領(lǐng)域。
[0003]根據(jù)緩沖區(qū)位置的不同,交換芯片的結(jié)構(gòu)可以分為輸入緩沖隊(duì)列(IQ)、輸出緩沖隊(duì)列(OQ)以及組合輸入輸出緩沖(C1Q)結(jié)構(gòu)。IQ結(jié)構(gòu)為每個輸入端口都設(shè)置有緩沖區(qū)。輸入端口進(jìn)入的數(shù)據(jù)幀先緩存于輸入端口緩沖區(qū)中形成輸入隊(duì)列。交換控制邏輯根據(jù)輸出端口的狀態(tài)異步地從輸入隊(duì)列中取出數(shù)據(jù)幀轉(zhuǎn)發(fā)輸出;OQ交換機(jī)結(jié)構(gòu)為每個輸出端口分配一定大小的輸出緩沖區(qū)。輸入端口進(jìn)入的數(shù)據(jù)幀直接通過交換控制邏輯送入輸出緩沖區(qū)中形成輸出隊(duì)列。交換機(jī)的輸出端口異步地從輸出隊(duì)列中取出數(shù)據(jù)幀,從通信端口中輸出。
[0004]IQ交換機(jī)邏輯簡單,交叉開關(guān)復(fù)雜度低(N X N,N為端口數(shù))、存儲器帶寬要求低(2X B,B為端口帶寬),缺點(diǎn)是系統(tǒng)吞吐量只能達(dá)到60%左右。OQ交換機(jī)系統(tǒng)吞吐量達(dá)到100%,缺點(diǎn)是控制邏輯時序要求高,交叉開關(guān)復(fù)雜度為2 X N X N,共享存儲器帶寬要求為2X N X B,總體交換容量受限?,F(xiàn)有的AFDX交換機(jī)基于共享緩存結(jié)構(gòu),理論上為OQ交換機(jī),即到達(dá)輸入端口的數(shù)據(jù)幀通過交換邏輯控制,直接送入位于輸出端口的輸出緩沖區(qū)如SRAM中。交換機(jī)的輸出端口控制邏輯異步地從輸出緩沖區(qū)隊(duì)列中取出數(shù)據(jù)幀,送到輸出端口輸出。但是這種結(jié)構(gòu)最大的局限在于其速度受限于內(nèi)存訪問速度。例如對于24口千兆AFDX交換機(jī),總收發(fā)帶寬為24 X IGbps X 2 = 48Gbps,即使存儲器位寬為256位,仍需要交換機(jī)內(nèi)部工作頻率為48Gbps/256bits?200MHz,這在FPGA原型設(shè)計中難以實(shí)現(xiàn)。因此,由于共享緩存AFDX結(jié)構(gòu)的局限性,目前國內(nèi)外尚無24口全千兆AFDX交換機(jī)產(chǎn)品問世。伴隨航空電子系統(tǒng)對數(shù)據(jù)交換速度和吞吐量要求的持續(xù)提高,有必要研究一種新的全千兆AFDX交換機(jī)架構(gòu)。
【發(fā)明內(nèi)容】
:
[0005]本發(fā)明的目的在于:提供一種全千兆AFDX交換機(jī)設(shè)計方案,旨在解決現(xiàn)有的共享緩存架構(gòu)帶寬無法滿足全千兆AFDX設(shè)計需求的問題。
[0006]本發(fā)明的發(fā)明目的通過以下技術(shù)方案實(shí)現(xiàn)。
[0007]一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),包括N個輸入端口、對應(yīng)每個輸入端口下的輸入虛擬隊(duì)列、虛擬鏈路配置表、集中調(diào)度模塊、K個并行交叉開關(guān)矩陣、對應(yīng)每個交叉開關(guān)矩陣下的單信元寄存器、輸出端口控制器、N個輸出端口和對應(yīng)每個輸出端口下的輸出緩存隊(duì)列,其特征在于:
[0008]所述輸入端口用于將接收到的數(shù)據(jù)幀緩存到輸入虛擬隊(duì)列并向集中調(diào)度模塊發(fā)起資源請求;
[0009]所述集中調(diào)度模塊用于對各資源請求進(jìn)行輪詢仲裁,對輸出端口的輸出緩存隊(duì)列的狀態(tài)進(jìn)行判斷,若輸出端口緩存隊(duì)列為可用狀態(tài),則接通交叉開關(guān)矩陣的輸入端,從輸入虛擬隊(duì)列中讀出數(shù)據(jù)幀的頭信元送入交叉開關(guān)矩陣下的單信元寄存器中,并向該頭信元需要轉(zhuǎn)發(fā)的輸出端口控制器發(fā)起輸出申請;
[0010]所述輸出端口控制器用于對所述輸出申請進(jìn)行輪流應(yīng)答,接通交叉開關(guān)矩陣的輸出端,將頭信元從單信元寄存器輸出到輸出緩存隊(duì)列,并記錄幀長、時標(biāo)和丟幀信息;
[0011]所述虛擬鏈路配置表用于保存基于虛擬鏈路的數(shù)據(jù)轉(zhuǎn)發(fā)、優(yōu)先級、幀過濾和流量控制所需信息,并由交換機(jī)終端負(fù)責(zé)加載更新;
[0012]所述輸出端口根據(jù)幀信息從輸出緩存隊(duì)列讀取數(shù)據(jù)幀進(jìn)行輸出。
[0013]優(yōu)選地,所述輸入端口包括輸入控制模塊、校驗(yàn)?zāi)K、以及錯誤和幀信息統(tǒng)計模塊;
[0014]所述的輸入控制模塊用于控制數(shù)據(jù)幀寫入輸入虛擬隊(duì)列;
[0015]所述的校驗(yàn)?zāi)K用于對輸入虛擬隊(duì)列中的數(shù)據(jù)幀進(jìn)行CRC、長度、完整性和VL校驗(yàn),如果校驗(yàn)正確則寫地址指針跳到下一幀起始地址,并向集中調(diào)度模塊發(fā)起資源請求;如果校驗(yàn)錯誤,則寫地址指針不變;
[0016]所述錯誤和幀信息統(tǒng)計模塊用于記錄幀信息、統(tǒng)計幀錯誤。
[0017]優(yōu)選地,所述輸入虛擬隊(duì)列包括第一輸入虛擬隊(duì)列、第二輸入虛擬隊(duì)列,所述輸入端口將接收到的數(shù)據(jù)幀交替寫入第一輸入虛擬隊(duì)列和第二輸入虛擬隊(duì)列。
[0018]優(yōu)選地,所述的集中調(diào)度模塊包含集中調(diào)度器、輸出端口狀態(tài)寄存器0QN、Crossbar狀態(tài)寄存器Ck ;
[0019]所述輸出端口狀態(tài)寄存器OQn用于存儲各輸出緩存隊(duì)列的狀態(tài)信息;
[0020]所述Crossbar狀態(tài)寄存器Ck用于存儲各單信元寄存器的狀態(tài)信息;
[0021]所述集中調(diào)度器用于先根據(jù)輸出端口狀態(tài)寄存器OQn對輸出緩存隊(duì)列的狀態(tài)進(jìn)行判斷,若輸出緩存隊(duì)列為可用狀態(tài)則查詢Crossbar狀態(tài)寄存器并對資源請求按照輪詢仲裁策略分配交叉開關(guān)矩陣。
[0022]優(yōu)選地,所述多個并行交叉開關(guān)矩陣中,交叉開關(guān)矩陣的個數(shù)為:N/6S交叉開關(guān)矩陣數(shù)目彡N/3,N為輸入端口數(shù)目。
[0023]優(yōu)選地,所述輸出端口緩存隊(duì)列包含一個高優(yōu)先級隊(duì)列和一個低優(yōu)先級隊(duì)列,用于緩存相應(yīng)優(yōu)先級的頭信元;
[0024]集中調(diào)度模塊用于根據(jù)頭信元的優(yōu)先級對對應(yīng)的高優(yōu)先級隊(duì)列或低優(yōu)先級隊(duì)列的狀態(tài)進(jìn)行判斷。
[0025]優(yōu)選地,所述輸入虛擬隊(duì)列、單信元寄存器的輸出緩存隊(duì)列的讀寫位寬相同,頭信元大小等于輸入虛擬隊(duì)列的讀寫位寬的值。
[0026]優(yōu)選地,每N/4個輸入端口共享一個虛擬鏈路配置表。
[0027]本發(fā)明還提供了一種用于基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī)的交換方法,包含以下步驟:
[0028]a.數(shù)據(jù)幀到達(dá)輸入端口 i,輸入端口接收數(shù)據(jù)幀并交替寫入該輸入端口的兩個輸入虛擬隊(duì)列,同時對數(shù)據(jù)幀進(jìn)行CRC、長度、完整性校驗(yàn),通過校驗(yàn)的數(shù)據(jù)幀進(jìn)行VL校驗(yàn);輸入虛擬隊(duì)列中的通過所有校驗(yàn)的合法數(shù)據(jù)幀向集中調(diào)度模塊發(fā)起資源申請;其中,OSiSN-1,N為輸入端口數(shù);
[0029 ] b.集中調(diào)度模塊根據(jù)數(shù)據(jù)幀的優(yōu)先級以及申請的輸出端口查詢相應(yīng)輸出端口的輸出緩存隊(duì)列的狀態(tài),若該數(shù)據(jù)幀申請的輸出端口的輸出緩存隊(duì)列不可用,則丟棄該數(shù)據(jù)幀并在對應(yīng)輸出端口中記錄該丟幀信息;否則,集中調(diào)度模塊按照輪詢仲裁策略分配交叉開關(guān)矩陣,接通交叉開關(guān)矩陣的輸入端;
[0030]c.若輸入虛擬隊(duì)列中的數(shù)據(jù)幀未得到交叉開關(guān)矩陣,則在輸入虛擬隊(duì)列中繼續(xù)等待下一次輪詢;得到交叉開關(guān)矩陣的輸入虛擬隊(duì)列,則把數(shù)據(jù)幀的頭信元送入單信元寄存器中,并向該數(shù)據(jù)幀需要轉(zhuǎn)發(fā)的輸出端口發(fā)起輸出申請,待整個數(shù)據(jù)幀發(fā)送完成之后釋放交叉開關(guān)矩陣;
[0031 ] d.輸出端口控制器對有數(shù)據(jù)傳輸?shù)慕徊骈_關(guān)矩陣進(jìn)行輪流應(yīng)答和接收,如果該輸出端口資源不可用則丟棄由交叉開關(guān)矩陣發(fā)送過來的頭信元,并記錄丟幀信息;否則,判別頭信元,記錄幀長信息和時標(biāo),并把頭信元從單信元寄存器寫入相應(yīng)優(yōu)先級的輸出緩沖隊(duì)列,整個數(shù)據(jù)幀完整接收后重新等待下一幀的頭信元;
[0032]e.輸出端口根據(jù)輸出緩存隊(duì)列中幀的信息判斷對應(yīng)幀是否超過最大延時,如果超過,則丟幀并記錄丟幀信息,否則從輸出端口發(fā)送該數(shù)據(jù)幀。
[0033]優(yōu)選地,步驟d中,輸出端口控制器把頭信元從單信元寄存器寫入輸出緩沖隊(duì)列時為頭信元附加數(shù)據(jù)幀長度和輸出端口信息。
[0034]本發(fā)明設(shè)計了基于C1Q結(jié)構(gòu)的AFDX交換機(jī),根據(jù)上述技術(shù)方案設(shè)計的AFDX交換機(jī)可以滿足現(xiàn)有AFDX交換機(jī)的全線速、單播多播、確定性延時、兩級優(yōu)先級等要求,并且可以實(shí)現(xiàn)24 口全千兆交換;減少了共享緩存結(jié)構(gòu)對內(nèi)部存儲帶寬的限制,在不增大存儲器位寬情況下總體交換容量可以達(dá)到48Gbps;本發(fā)明中涉及的存儲和緩沖單元為片上存儲資源,不需要外部存儲器和接口,降低了硬件消耗,節(jié)省成本。
【附圖說明】
:
[0035]圖1為本發(fā)明基于C1Q結(jié)構(gòu)的AFDX交換機(jī)結(jié)構(gòu)框圖;
[0036]圖2為本發(fā)明AFDX交換機(jī)輸入端口結(jié)構(gòu)框圖;
【具體實(shí)施方式】
:
[0037]下面通過附圖和具體實(shí)施例對本發(fā)明做進(jìn)一步的詳細(xì)說明,以下所述是對本發(fā)明的解釋而不是限定。
[0038]根據(jù)說明書所述的基于C1Q結(jié)構(gòu)的AFDX交換機(jī)結(jié)構(gòu)框圖如圖1所示,以24口交換機(jī)為例,主要組成部分包括:24個輸入端口、每個輸入端口下的二個輸入虛擬隊(duì)列(第一輸入虛擬隊(duì)列、第二輸入虛擬隊(duì)列)、虛擬鏈路配置表(VL)、集中調(diào)度模塊、8個并行交叉開關(guān)矩陣、每個交叉開關(guān)矩陣下的單信元寄存器、輸出端口控制器、24個輸出端口,每個輸出端口下的二個輸出緩存隊(duì)列(高優(yōu)先級隊(duì)列、低優(yōu)先級隊(duì)列)。本實(shí)施例是在FPGA上來實(shí)現(xiàn),輸入輸出端口都是高速收發(fā)端口,隊(duì)列為FPGA片上存儲空間,其他功能模塊都是通過編寫verilog代碼自動綜合實(shí)現(xiàn)的。
[0039]如圖2所示,輸入端口具體包括輸入控制模塊、校驗(yàn)?zāi)K、錯誤和幀信息統(tǒng)計模塊,輸入端口接收數(shù)據(jù)幀,經(jīng)過輸入控制模塊交替寫入兩個輸入虛擬隊(duì)列,同時校驗(yàn)?zāi)K對輸入虛擬隊(duì)列中的數(shù)據(jù)幀進(jìn)行CRC、長度、完整性,如果校驗(yàn)正確則進(jìn)行下一步的VL校驗(yàn),如果校驗(yàn)正確則寫地址指針會跳到下一幀起始地址,并向集中調(diào)度器發(fā)出資源請求,如果校驗(yàn)錯誤,則寫地址指針不變(相當(dāng)于該幀被丟棄)并由錯誤和幀信息統(tǒng)計模塊記錄錯誤信息。
[0040]輸入端虛擬隊(duì)列采用兩路雙口 RAM實(shí)現(xiàn),為了降低頭阻塞發(fā)生的概率,在一路輸入虛擬隊(duì)列已滿且長時間等待資源仲裁的情況下,另一路輸入虛擬隊(duì)列中的數(shù)據(jù)幀可以同時發(fā)起輸出申請。輸入虛擬隊(duì)列用于緩存等待輪詢仲裁的數(shù)據(jù)幀或暫存因內(nèi)部鏈路被占用而無法發(fā)送到Crossbar單信元寄存器的數(shù)據(jù)幀;
[0041 ]虛擬鏈路配置表保存基于虛擬鏈路的數(shù)據(jù)轉(zhuǎn)發(fā)、優(yōu)先級、幀過濾和流量控制信息,由交換機(jī)終端負(fù)責(zé)加載更新。為滿足每個輸入端口在線速情況下能完成VL校驗(yàn)且不占用大量的片上資源,本設(shè)計中配置4個VL表,每6個輸入端口共享一個VL表。
[0042 ]集中調(diào)度模塊包含集中調(diào)度器、輸出端口狀態(tài)寄存器OQn、Cro s sbar狀態(tài)寄存器Ck。集中調(diào)度器接收資源請求,完成輪詢仲裁,接收所有輸出緩存隊(duì)列的狀態(tài)反饋,更新輸出端口狀態(tài)寄存器OQNXrossbar狀態(tài)寄存器&。在收到資源請求時,首先根據(jù)數(shù)據(jù)幀的優(yōu)先級以及請求的輸出端口在輸出端口狀態(tài)寄存器OQn查詢對應(yīng)的輸出緩沖隊(duì)列,例如,數(shù)據(jù)幀的優(yōu)先級為高,請求的輸出端口為O,則在輸出端口狀態(tài)寄存器OQn查詢輸出端口 O的高優(yōu)先級隊(duì)列。若該數(shù)據(jù)幀申請的輸出端口資源全部不可用,則丟棄整個數(shù)據(jù)幀并在對應(yīng)輸出端口中記錄該丟幀信息;否則,集中調(diào)度器查詢Crossbar狀態(tài)寄存器Ck(0<k<K-l ,K為Crossbar數(shù)目)狀態(tài)寄存器并對該申請按照輪詢仲裁策略分配交叉開關(guān)矩陣;若輸入虛擬隊(duì)列中的數(shù)據(jù)幀未得到交叉開關(guān)矩陣,則在輸入虛擬隊(duì)列中繼續(xù)等待下一次輪詢;若得到Crossbar資源,集中調(diào)度器接通交叉開關(guān)矩陣的輸入端,把數(shù)據(jù)幀頭信元從輸入虛擬隊(duì)列送入單信元寄存器中,并在頭信元后附加數(shù)據(jù)幀長度和輸出端口信息并向輸出端口控制器發(fā)出輸出請求,更新Crossbar狀態(tài)寄存器Ck的狀態(tài)。
[0043]多個并行交叉開關(guān)矩陣從輸入端虛擬隊(duì)列接收并轉(zhuǎn)發(fā)合法數(shù)據(jù)幀信元,由單信元寄存器暫存未得到輸出端口應(yīng)答輸出的信元,本例選擇交叉開關(guān)矩陣數(shù)目為8,交叉開關(guān)矩陣,由輸入端、輸出端和內(nèi)部交叉點(diǎn)開關(guān)組成。交叉點(diǎn)開關(guān)的作用是為任意輸入端和輸出端搭建數(shù)據(jù)通路。
[0044]輸出端口控制器用于對有數(shù)據(jù)傳輸?shù)慕徊骈_關(guān)矩陣進(jìn)行輪流應(yīng)答,接通交叉開關(guān)矩陣的輸出端,將單信元寄存器中的頭信元數(shù)據(jù)送入相應(yīng)優(yōu)先級的輸出緩存隊(duì)列,更新Crossbar狀態(tài)寄存器Ck的狀態(tài)。如果該輸出緩存隊(duì)列不可用則丟棄由單信元寄存器發(fā)送過來的頭信元,并記錄丟幀信息;否則,判別頭信元,記錄幀長信息和時標(biāo),并把數(shù)據(jù)寫入相應(yīng)優(yōu)先級的輸出端口緩沖隊(duì)列,整個數(shù)據(jù)幀完整接收后重新等待下一幀的頭信元;
[0045]輸出端口緩存隊(duì)用于緩存相應(yīng)優(yōu)先級的數(shù)據(jù)幀,包含一個高優(yōu)先級隊(duì)列和一個低優(yōu)先級隊(duì)列,根據(jù)優(yōu)先級隊(duì)列中幀的信息判斷對應(yīng)幀是否超過最大延時,如果超過,則丟幀并記錄丟幀信息,輸出模塊根據(jù)幀信息控制輸出數(shù)據(jù)幀,高優(yōu)先級隊(duì)列中的數(shù)據(jù)幀優(yōu)先輸出。
[0046]下面以24口全千兆交換機(jī)為例,計算基于C1Q結(jié)構(gòu)的AFDX交換機(jī)所需緩沖區(qū)大小和傳輸延時。AFDX協(xié)議數(shù)據(jù)幀最長為1518Bytes。設(shè)置每個輸出端最多緩存128幀1518Bytes的數(shù)據(jù)幀,總共需要空間為128 X 24 X 1518Bytes X 8?36Mb;根據(jù)計算,輸入端設(shè)置6個數(shù)據(jù)幀緩沖區(qū)大小即可防止申請資源過程中幀丟失,本例在每個輸入端緩存64幀1518Bytes的數(shù)據(jù)幀,總共需要空間64\24\151887七68\8?181?3;4個共享的¥1^表所占空間為4103\128X 2 = IMb ; 8個Crossbar每個占有I個信元大小的緩沖區(qū),即128bits X 8 = 1024bits;還包括輸入端口幀信息記錄、OQn狀態(tài)寄存器、Ck狀態(tài)寄存器等寄存器組,共需要空間約2Mb;總體需要5 8Mb片上存儲資源?,F(xiàn)有的FPGA最大片內(nèi)資源為68Mb,可以滿足FPGA原型設(shè)計需求。在C1Q結(jié)構(gòu)的AFDX交換機(jī)內(nèi),數(shù)據(jù)幀傳輸延時分為VL校驗(yàn)延時tVL、輪詢延時tR、內(nèi)部幀傳輸延時t。、輸出端口輸出延時t。。設(shè)定FPGA內(nèi)部工作頻率為125MHz,一個時鐘周期為8ns,內(nèi)部位寬為128bits,則每個周期寫入16Bytes。在AFDX交換機(jī)中不考慮資源競爭,則tVL?12clk,tR= 3clk,在寫入Ck緩沖區(qū)過程中,由于Ck需要傳輸完完整一幀后才能釋放資源,所以延時為tc= 1518Bytes/16Bytes.elk—1;^95clk,1:。= 0,最短延時為(tvL+tR+tc+t。) X8ns = 0.88us0考慮競爭情況,在VL校驗(yàn)過程中,由于6個輸入端口共享一個VL表,所以最后一個端口最長需要等待tvL X 6 = 72clk才能完成校驗(yàn)。此外,由于24個口共用8個Crossbar,所以最長需要等待3次完整的傳輸過程,延時為(tR+tc)X3 = 294clk。在輸出端口,以IGbps速率發(fā)送數(shù)據(jù)幀,考慮所有輸出隊(duì)列全部填滿最長數(shù)據(jù)幀,則最后一幀等待發(fā)送總共需要等待127 X1518clk=192786clk,總體延時為(72+294+192786) X8ns?1.5ms,可以滿足AFDX延時確定性需求。
[0047]可以理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),包括N個輸入端口、對應(yīng)每個輸入端口下的輸入虛擬隊(duì)列、虛擬鏈路配置表、集中調(diào)度模塊、K個并行交叉開關(guān)矩陣、對應(yīng)每個交叉開關(guān)矩陣下的單信元寄存器、輸出端口控制器、N個輸出端口和對應(yīng)每個輸出端口下的輸出緩存隊(duì)列,其特征在于: 所述輸入端口用于將接收到的數(shù)據(jù)幀緩存到輸入虛擬隊(duì)列并向集中調(diào)度模塊發(fā)起資源請求; 所述集中調(diào)度模塊用于對各資源請求進(jìn)行輪詢仲裁,對輸出端口的輸出緩存隊(duì)列的狀態(tài)進(jìn)行判斷,若輸出端口緩存隊(duì)列為可用狀態(tài),則接通交叉開關(guān)矩陣的輸入端,從輸入虛擬隊(duì)列中讀出數(shù)據(jù)幀的頭信元送入交叉開關(guān)矩陣下的單信元寄存器中,并向該頭信元需要轉(zhuǎn)發(fā)的輸出端口控制器發(fā)起輸出申請; 所述輸出端口控制器用于對所述輸出申請進(jìn)行輪流應(yīng)答,接通交叉開關(guān)矩陣的輸出端,將頭信元從單信元寄存器輸出到輸出緩存隊(duì)列,并記錄幀長、時標(biāo)和丟幀信息; 所述虛擬鏈路配置表用于保存基于虛擬鏈路的數(shù)據(jù)轉(zhuǎn)發(fā)、優(yōu)先級、幀過濾和流量控制所需信息,并由交換機(jī)終端負(fù)責(zé)加載更新; 所述輸出端口根據(jù)幀信息從輸出緩存隊(duì)列讀取數(shù)據(jù)幀進(jìn)行輸出。2.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于所述輸入端口包括輸入控制模塊、校驗(yàn)?zāi)K、以及錯誤和幀信息統(tǒng)計模塊; 所述的輸入控制模塊用于控制數(shù)據(jù)幀寫入輸入虛擬隊(duì)列; 所述的校驗(yàn)?zāi)K用于對輸入虛擬隊(duì)列中的數(shù)據(jù)幀進(jìn)行CRC、長度、完整性和VL校驗(yàn),如果校驗(yàn)正確則寫地址指針跳到下一幀起始地址,并向集中調(diào)度模塊發(fā)起資源請求;如果校驗(yàn)錯誤,則寫地址指針不變; 所述錯誤和幀信息統(tǒng)計模塊用于記錄幀信息、統(tǒng)計幀錯誤。3.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于所述輸入虛擬隊(duì)列包括第一輸入虛擬隊(duì)列、第二輸入虛擬隊(duì)列,所述輸入端口將接收到的數(shù)據(jù)幀交替寫入第一輸入虛擬隊(duì)列和第二輸入虛擬隊(duì)列。4.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于所述的集中調(diào)度模塊包含集中調(diào)度器、輸出端口狀態(tài)寄存器0QN、CroSSbar狀態(tài)寄存器Ck; 所述輸出端口狀態(tài)寄存器OQn用于存儲各輸出緩存隊(duì)列的狀態(tài)信息; 所述Crossbar狀態(tài)寄存器Ck用于存儲各單信元寄存器的狀態(tài)信息; 所述集中調(diào)度器用于先根據(jù)輸出端口狀態(tài)寄存器OQn對輸出緩存隊(duì)列的狀態(tài)進(jìn)行判斷,若輸出緩存隊(duì)列為可用狀態(tài)則查詢Crossbar狀態(tài)寄存器并對資源請求按照輪詢仲裁策略分配交叉開關(guān)矩陣。5.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于所述多個并行交叉開關(guān)矩陣中,交叉開關(guān)矩陣的個數(shù)為:N/6S交叉開關(guān)矩陣數(shù)目<N/3,N為輸入端口數(shù)目。6.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于所述輸出端口緩存隊(duì)列包含一個高優(yōu)先級隊(duì)列和一個低優(yōu)先級隊(duì)列,用于緩存相應(yīng)優(yōu)先級的頭信元; 集中調(diào)度模塊用于根據(jù)頭信元的優(yōu)先級對對應(yīng)的高優(yōu)先級隊(duì)列或低優(yōu)先級隊(duì)列的狀態(tài)進(jìn)行判斷。7.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于,所述輸入虛擬隊(duì)列、單信元寄存器的輸出緩存隊(duì)列的讀寫位寬相同,頭信元的大小等于輸入虛擬隊(duì)列的讀寫位寬的值。8.根據(jù)權(quán)利要求1所述的一種基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī),其特征在于,每N/4個輸入端口共享一個虛擬鏈路配置表。9.一種用于基于C1Q結(jié)構(gòu)的千兆AFDX交換機(jī)的交換方法,包含以下步驟: a.數(shù)據(jù)幀到達(dá)輸入端口i,輸入端口接收數(shù)據(jù)幀并交替寫入該輸入端口的兩個輸入虛擬隊(duì)列,同時對數(shù)據(jù)幀進(jìn)行CRC、長度、完整性校驗(yàn),通過校驗(yàn)的數(shù)據(jù)幀進(jìn)行VL校驗(yàn);輸入虛擬隊(duì)列中的通過所有校驗(yàn)的合法數(shù)據(jù)幀向集中調(diào)度模塊發(fā)起資源申請;其中,OSiSN-1,N為輸入端口數(shù); b.集中調(diào)度模塊根據(jù)數(shù)據(jù)幀的優(yōu)先級以及申請的輸出端口查詢相應(yīng)輸出端口的輸出緩存隊(duì)列的狀態(tài),若該數(shù)據(jù)幀申請的輸出端口的輸出緩存隊(duì)列不可用,則丟棄該數(shù)據(jù)幀并在對應(yīng)輸出端口中記錄該丟幀信息;否則,集中調(diào)度模塊按照輪詢仲裁策略分配交叉開關(guān)矩陣,接通交叉開關(guān)矩陣的輸入端; c.若輸入虛擬隊(duì)列中的數(shù)據(jù)幀未得到交叉開關(guān)矩陣,則在輸入虛擬隊(duì)列中繼續(xù)等待下一次輪詢;得到交叉開關(guān)矩陣的輸入虛擬隊(duì)列,則把數(shù)據(jù)幀的頭信元送入單信元寄存器中,并向該數(shù)據(jù)幀需要轉(zhuǎn)發(fā)的輸出端口發(fā)起輸出申請,待整個數(shù)據(jù)幀發(fā)送完成之后釋放交叉開關(guān)矩陣; d.輸出端口控制器對有數(shù)據(jù)傳輸?shù)慕徊骈_關(guān)矩陣進(jìn)行輪流應(yīng)答和接收,如果該輸出端口資源不可用則丟棄由交叉開關(guān)矩陣發(fā)送過來的頭信元,并記錄丟幀信息;否則,判別頭信元,記錄幀長信息和時標(biāo),并把頭信元從單信元寄存器寫入相應(yīng)優(yōu)先級的輸出緩沖隊(duì)列,整個數(shù)據(jù)幀完整接收后重新等待下一幀的頭信元; e.輸出端口根據(jù)輸出緩存隊(duì)列中幀的信息判斷對應(yīng)幀是否超過最大延時,如果超過,則丟幀并記錄丟幀信息,否則從輸出端口發(fā)送該數(shù)據(jù)幀。10.根據(jù)權(quán)利要求9所述的交換方法,其特征在于,步驟d中,輸出端口控制器把頭信元從單信元寄存器寫入輸出緩沖隊(duì)列時為頭信元附加數(shù)據(jù)幀長度和輸出端口信息。
【文檔編號】H04L12/931GK105897621SQ201610512921
【公開日】2016年8月24日
【申請日】2016年7月1日
【發(fā)明人】王榮陽, 李修杰, 楊愛良, 周偉
【申請人】中國航空無線電電子研究所