專利名稱:面向包-電路交換片上路由器的廣播機(jī)制路由算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種面向包-電路交換片上路由器路由算法,具體地說是一種面向包-電路交換片上路由器的廣播機(jī)制路由算法。
背景技術(shù):
片上網(wǎng)絡(luò)(NoC )由資源節(jié)點(diǎn)(Re sour c e )、路由器(Rout er )、鏈路(Channe 1)和網(wǎng)絡(luò)接口(Network Interface, Ni)組成,如圖 1 所示
11為資源節(jié)點(diǎn)執(zhí)行計(jì)算和存儲(chǔ)任務(wù)的節(jié)點(diǎn)。12為路由器也稱為開關(guān)節(jié)點(diǎn)或通訊節(jié)點(diǎn),執(zhí)行通信任務(wù)。13為鏈路指資源節(jié)點(diǎn)和開關(guān)節(jié)點(diǎn)之間、開關(guān)節(jié)點(diǎn)和開關(guān)節(jié)點(diǎn)之間的連線,圖1中的 E、W、N、S 禾口 L。14為網(wǎng)絡(luò)接口 指資源節(jié)點(diǎn)和開關(guān)節(jié)點(diǎn)之間的接口,通常劃分在資源節(jié)點(diǎn)中。只有配備了網(wǎng)絡(luò)接口的資源節(jié)點(diǎn)才能連接到網(wǎng)絡(luò)上與其他資源節(jié)點(diǎn)進(jìn)行通信。NoC相對于傳統(tǒng)的總線架構(gòu),在可擴(kuò)展性、可重用性、設(shè)計(jì)效率、帶寬、延時(shí)等方面都具有優(yōu)勢,為解決片上通信和全局時(shí)鐘同步問題提供了有力的解決方案。在片上網(wǎng)絡(luò)系統(tǒng)中,片上路由器設(shè)計(jì)的優(yōu)劣將直接影響整個(gè)NoC系統(tǒng)的性能,而路由算法又是路由器設(shè)計(jì)的核心,決定了路由器的優(yōu)劣。根據(jù)不同的片上網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和交換方式采用不同的路由算法將對片上網(wǎng)絡(luò)通信性能產(chǎn)生影響。同時(shí)隨著集成電路規(guī)模的增加,片上路由器將大量存在于片上網(wǎng)絡(luò)系統(tǒng)中,因此設(shè)計(jì)片上網(wǎng)絡(luò)路由器的時(shí)候,需要選擇硬件資源消耗少、實(shí)現(xiàn)成本低的路由算法。目前,應(yīng)用較為廣泛的路由算法有動(dòng)態(tài)XY路由算法(Dy_XY)、回退路由算法等?;诎?電路交換的片上路由器,鏈路的建立通過發(fā)送請求包完成,而數(shù)據(jù)的傳輸采用電路交換的方式。在包-電路交換中,建立鏈路的路由延時(shí)與網(wǎng)絡(luò)情況有關(guān);鏈路建立以后,數(shù)據(jù)傳輸便不再依賴于網(wǎng)路情況,數(shù)據(jù)傳輸延時(shí)小而且可預(yù)測,這使得包-電路交換更適用于大量、連續(xù)數(shù)據(jù)傳輸,而且具有強(qiáng)實(shí)時(shí)性要求的網(wǎng)絡(luò)架構(gòu)中。包-電路交換片上路由器的每個(gè)輸入(或輸出)通道,只需要存儲(chǔ)一個(gè)數(shù)據(jù)包,因此包-電路交換路由器的面積較小,資源消耗少。隨著對于片上網(wǎng)絡(luò)性能要求的不斷提高,許多傳統(tǒng)的算法比如靜態(tài)XY算法和動(dòng)態(tài)XY算法等,已經(jīng)不能夠滿足目前片上路由器對于網(wǎng)絡(luò)通信效率和時(shí)間延時(shí)的要求,因此新的路由算法來實(shí)現(xiàn)高性能的片上網(wǎng)絡(luò)是非常必要的。
發(fā)明內(nèi)容
為了提高片上網(wǎng)絡(luò)的通信能力和效率,本發(fā)明的目的是提出一種面向包-電路交換片上路由器的廣播機(jī)制路由算法,該路由算法所用路由器成本低,性能高,能有效避免片上網(wǎng)絡(luò)擁塞,最大化網(wǎng)路通信效率,有效改善平均吞吐量和平均包延遲,降低路由算法實(shí)現(xiàn)復(fù)雜度,滿足片上網(wǎng)絡(luò)高性能的要求。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)
一種面向包-電路交換片上路由器的廣播機(jī)制路由算法,其特征在于該路由算法為自適應(yīng)路由算法,路由器根據(jù)片上網(wǎng)絡(luò)擁塞情況進(jìn)行路由仲裁,動(dòng)態(tài)選擇路由路徑,記錄滿足路由條件的輸出端口,采用廣播式機(jī)制向可以路由的輸出端口發(fā)送建立包,選擇可以先建立的鏈路進(jìn)行數(shù)據(jù)傳輸,釋放另外一條鏈路,實(shí)現(xiàn)廣播式路由,避免擁塞減小片上網(wǎng)絡(luò)傳輸中的包延時(shí);具體步驟如下
1)如果X方向和Y方向的輸出端口同時(shí)滿足路由條件并且至少有一個(gè)方向不被占用, 那么存儲(chǔ)這兩個(gè)端口信號(hào);如果只有χ方向或者Y方向中一個(gè)輸出端口滿足路由條件且不被占用,只存儲(chǔ)這一個(gè)端口號(hào);如果沒有輸出端口同時(shí)滿足路由條件且不被占用,那么不存儲(chǔ)任何端口;
2)在滿足路由條件并且鏈路不被占用時(shí),若X方向和Y方向均滿足此條件,同時(shí)向滿足路由條件的X方向鏈路和Y方向鏈路發(fā)送請求信息,進(jìn)行數(shù)據(jù)傳輸;只有一個(gè)方向滿足時(shí)則只向該方向條鏈路發(fā)送請求信息,進(jìn)行數(shù)據(jù)傳輸。本發(fā)明中,在選擇兩個(gè)路由方向時(shí),同時(shí)對這兩個(gè)方向進(jìn)行路由,選擇首先獲得反饋建立信號(hào)的那條鏈路進(jìn)行數(shù)據(jù)傳輸,釋放掉另外一條鏈路資源使其繼續(xù)用于其他路由過程中;如果先收到一條鏈路反饋的路由失敗信號(hào),則放棄該鏈路,等待另外一條鏈路的反饋信號(hào),若另外一條鏈路路由成功,則進(jìn)行數(shù)據(jù)傳輸。在兩個(gè)方向同時(shí)路由時(shí),如果同時(shí)獲得兩條鏈路反饋的鏈路建立信號(hào),則選擇優(yōu)先級(jí)高的X方向進(jìn)行數(shù)據(jù)傳輸;如果兩條鏈路全都路由失敗,則向上一級(jí)路由器反饋路由失敗信號(hào)。本發(fā)明在每一條鏈路的路由過程中采用動(dòng)態(tài)路由方式,根據(jù)鏈路資源的占用情況進(jìn)行路由仲裁,不向180度方向折回路由,并且不向原來目的節(jié)點(diǎn)的方向路由,因而不會(huì)引起死鎖或者活鎖問題。本發(fā)明中,所述路由器包括依次連接的輸入狀態(tài)機(jī)、優(yōu)先編碼器、地址譯碼器、仲裁器和輸出狀態(tài)機(jī);
輸入狀態(tài)機(jī)接收上一級(jí)路由器的路由請求信號(hào),控制輸入通道的工作狀態(tài),并將接收的請求信號(hào)傳送給優(yōu)先級(jí)編碼器;路由失敗時(shí)傳遞失敗信號(hào);
優(yōu)先編碼器根據(jù)優(yōu)先設(shè)定的優(yōu)先級(jí)順序?qū)φ埱笮盘?hào)進(jìn)行編碼,選出優(yōu)先處理的輸入端
Π ;
地址譯碼器根據(jù)優(yōu)先處理的輸入端口中的請求信號(hào),將目標(biāo)節(jié)點(diǎn)地址信號(hào)轉(zhuǎn)變?yōu)槁酚煞较蛐盘?hào)輸出;
仲裁器接收地址譯碼器的解碼結(jié)果,根據(jù)鏈路的占用情況,存儲(chǔ)解碼結(jié)果中不被占用的輸出端口號(hào),將輸入端口與所有合適的端口相連,一個(gè)輸入端口最多能與兩個(gè)輸出端口相連,并記錄鏈路占用情況;沒有被存儲(chǔ)的輸出端口時(shí),通過輸入狀態(tài)機(jī)向上一級(jí)路由器發(fā)送路由失敗信號(hào);通過輸出狀態(tài)機(jī)收到下一級(jí)路由器的路由失敗信號(hào)時(shí),根據(jù)存儲(chǔ)的其他可能的輸出端口號(hào)和鏈路占用信息,重新選擇輸出端口,直到選擇合適的路徑到達(dá)目的節(jié)
點(diǎn)
輸出狀態(tài)機(jī)接收仲裁器的輸入端口與輸出端口互連信號(hào),向下一級(jí)路由器傳遞路由請求信號(hào),控制輸出通道的工作狀態(tài),并將接收的路由失敗信號(hào),傳送給仲裁器。
本發(fā)明所述路由算法及所用路由器,在選擇路由路徑時(shí),采用廣播機(jī)制向可能路徑都發(fā)送路由請求,選擇最先反饋建立信號(hào)的路徑進(jìn)行數(shù)據(jù)傳輸,而且在每條路徑上路由時(shí)根據(jù)鏈路資源占用情況選擇路由仲裁,不向180度方向折回同時(shí)不向原來目的節(jié)點(diǎn)的方向路由,不會(huì)引起死鎖或活鎖問題。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)現(xiàn)成本低,性能高,能最快的選取網(wǎng)絡(luò)路徑,降低平均包延時(shí),提高網(wǎng)絡(luò)通信效率,有效地改善了網(wǎng)絡(luò)擁塞情況,滿足更高性能片上路由器對吞吐率和平均包延時(shí)等通信性能的要求。與動(dòng)態(tài)XY路由算法和回退路由轉(zhuǎn)向算法相比,本發(fā)明公開的廣播機(jī)制路由算法可以使片上網(wǎng)絡(luò)的平均包延遲最大分別改善32. 74%和22. 68%, 優(yōu)勢覆蓋了整個(gè)負(fù)載條件;綜合來看本發(fā)明優(yōu)勢明顯,本發(fā)明適用于實(shí)現(xiàn)面向?qū)崟r(shí)性的高性能片上網(wǎng)絡(luò)系統(tǒng)。
圖1是NoC結(jié)構(gòu)示意圖2是本發(fā)明所述路由器的結(jié)構(gòu)示意圖; 圖3是本發(fā)明算法實(shí)現(xiàn)結(jié)構(gòu)示意圖; 圖4是本發(fā)明中數(shù)據(jù)包格式示意圖; 圖5是本發(fā)明的4X4 二維網(wǎng)格片上網(wǎng)絡(luò)硬件結(jié)構(gòu)示意圖6是采用本發(fā)明的路由器與采用動(dòng)態(tài)XY路由算法的路由器和回退轉(zhuǎn)向路由算法的路由器實(shí)現(xiàn)結(jié)果平均包延遲比較示意圖。
具體實(shí)施例方式一種面向包-電路交換片上路由器的廣播機(jī)制路由算法,該路由算法為自適應(yīng)路由算法,路由器根據(jù)片上網(wǎng)絡(luò)擁塞情況進(jìn)行路由仲裁,動(dòng)態(tài)選擇路由路徑,記錄滿足路由條件的輸出端口,采用廣播式機(jī)制向可以路由的輸出端口都發(fā)送建立包,選擇可以先建立的鏈路進(jìn)行數(shù)據(jù)傳輸,釋放另外一條鏈路,實(shí)現(xiàn)廣播式路由,避免擁塞減小片上網(wǎng)絡(luò)傳輸中的包延時(shí);具體步驟如下
1)如果X方向和Y方向的輸出端口同時(shí)滿足路由條件并且至少有一個(gè)方向不被占用, 那么存儲(chǔ)這兩個(gè)端口信號(hào);如果只有X方向或者Y方向中一個(gè)輸出端口滿足路由條件且不被占用,只存儲(chǔ)這一個(gè)端口號(hào);如果沒有輸出端口同時(shí)滿足路由條件且不被占用,那么不存儲(chǔ)任何端口號(hào)。2)在滿足路由條件并且鏈路不被占用時(shí),若有X方向和Y方向兩個(gè)方向滿足此條件,同時(shí)向滿足路由條件的所有鏈路即X方向鏈路和Y方向鏈路發(fā)送請求信息;只有一個(gè)方向滿足時(shí)則只向這一條鏈路發(fā)送起請求信息。本發(fā)明采用動(dòng)態(tài)式廣播機(jī)制,在有兩個(gè)路由方向可以路由時(shí),對兩個(gè)方向都進(jìn)行路由,選擇首先獲得反饋建立信號(hào)的那條鏈路進(jìn)行數(shù)據(jù)傳輸,釋放掉另外一條鏈路資源使其可以繼續(xù)用于其他路由過程中,如果先收到一條鏈路反饋的路由失敗信號(hào),則放棄該鏈路,等待另外一條鏈路的反饋信號(hào),若另外一條鏈路路由成功,則進(jìn)行數(shù)據(jù)傳輸。同時(shí)對兩個(gè)方向進(jìn)行路由時(shí),如果同時(shí)獲得兩條鏈路反饋的鏈路建立信號(hào),則選擇優(yōu)先級(jí)高的方向進(jìn)行數(shù)據(jù)傳輸,即X方向;如果兩條鏈路全都路由失敗,則向上一級(jí)路由器反饋路由失敗信號(hào)。在每一條鏈路的路由過程中采用動(dòng)態(tài)路由方式,根據(jù)鏈路資源的占用情況進(jìn)行路由仲裁,不向180度方向折回路由,并且不向原來目的節(jié)點(diǎn)的方向路由,不引起死鎖或者活鎖問題。圖2是本發(fā)明所述路由器的結(jié)構(gòu)示意圖;所用的路由器包括依次連接的輸入狀態(tài)機(jī)1、優(yōu)先編碼器2、地址譯碼器3、仲裁器4和輸出狀態(tài)機(jī)5。輸入狀態(tài)機(jī)1接收上一級(jí)路由器的路由請求信號(hào),控制輸入通道的工作狀態(tài),并將接收的請求信號(hào)傳送給優(yōu)先級(jí)編碼器2 ;路由失敗是傳遞路由失敗信號(hào);
優(yōu)先編碼器2根據(jù)優(yōu)先設(shè)定的優(yōu)先級(jí)順序?qū)φ埱笮盘?hào)進(jìn)行編碼,選出優(yōu)先處理的輸入端□;
地址譯碼器3根據(jù)優(yōu)先處理的輸入端口中的請求信號(hào),將目標(biāo)節(jié)點(diǎn)地址信號(hào)轉(zhuǎn)變?yōu)槁酚煞较蛐盘?hào)輸出;
仲裁器4接收地址譯碼器的解碼結(jié)果,根據(jù)鏈路的占用情況,存儲(chǔ)解碼結(jié)果中不被占用的輸出端口號(hào),將輸入端口與所有合適的端口相連,此時(shí)一個(gè)輸入端口最多可能與兩個(gè)輸出端口相連,并記錄鏈路占用情況。沒有可以被選擇的輸出端口時(shí),通過輸入狀態(tài)機(jī)向上一級(jí)路由器發(fā)送路由失敗信號(hào);通過輸出狀態(tài)機(jī)收到下一級(jí)路由器的路由失敗信號(hào)時(shí),根據(jù)存儲(chǔ)的其他可能的輸出端口號(hào)和鏈路占用信息,重新選擇輸出端口,直到選擇合適的路徑到達(dá)目的節(jié)點(diǎn);
輸出狀態(tài)機(jī)5接收仲裁器的輸入端口與輸出端口互連信號(hào),向下一級(jí)路由器傳遞路由請求信號(hào),控制輸出通道的工作狀態(tài),并將接收的路由失敗信號(hào),傳送給仲裁器。通過仲裁器選定輸入輸出端口互連信號(hào)并進(jìn)行正確互連之后,進(jìn)入數(shù)據(jù)傳輸階段,輸入端口的數(shù)據(jù)信號(hào)通過數(shù)據(jù)通路直接傳遞給下一結(jié)點(diǎn),而不經(jīng)過控制通路。當(dāng)目標(biāo)節(jié)點(diǎn)釋放鏈路時(shí),數(shù)據(jù)通路內(nèi)相應(yīng)輸入端口與輸出端口的連接關(guān)系被撤銷。廣播機(jī)制路由算法在片上路由器中實(shí)現(xiàn)時(shí)由如圖3所示四部分組成=RETRO (廣播仲裁模塊)模塊,DEST (地址狀態(tài)模塊)模塊,CONN (連接模塊)模塊,OOT (通道使能模塊) 模塊。廣播仲裁模塊執(zhí)行路由策略,接收下游路由器節(jié)點(diǎn)反饋的路由失敗信號(hào)fail [i]和鏈路建立成功信號(hào)ack[i],并產(chǎn)生連接模塊的控制信號(hào)和傳遞給上游路由器節(jié)點(diǎn)的路由失敗信號(hào)fail_o[i];地址狀態(tài)模塊接收地址解碼后滿足路由條件的可能的輸出端口號(hào)reg_ in[i]信號(hào),結(jié)合輸出通道的占用情況記錄這些可能的輸出通道號(hào);連接模塊產(chǎn)生輸入與輸出端口連接信號(hào)link[i];通道使能模塊產(chǎn)生端口占用信號(hào)oCCUpied[i]。本實(shí)施例采用廣播機(jī)制路由算法的路由器節(jié)點(diǎn)構(gòu)成4*4 二維網(wǎng)格片上網(wǎng)絡(luò)系統(tǒng), 其硬件結(jié)構(gòu)如圖5所示,其中R為路由器、LS為本地子系統(tǒng)、IP為IP核、NI為網(wǎng)絡(luò)接口。此片上系統(tǒng)由廣播機(jī)制路由算法片上路由器、鏈路和本地子系統(tǒng)組成。廣播機(jī)制路由算法片上路由器是網(wǎng)絡(luò)的核心部件;本地子系統(tǒng)包含一個(gè)數(shù)據(jù)發(fā)生器和一個(gè)數(shù)據(jù)接收器,分別用于發(fā)送和接收數(shù)據(jù)。該實(shí)驗(yàn)用例的功能是本地子系統(tǒng)通過片上網(wǎng)絡(luò)系統(tǒng)發(fā)送和接收數(shù)據(jù)。本實(shí)驗(yàn)用例系統(tǒng)配置如下“包-電路交換”,廣播機(jī)制路由算法,數(shù)據(jù)片寬度為34 位,結(jié)構(gòu)如圖4所示,包長度為50個(gè)數(shù)據(jù)片,系統(tǒng)每次模擬運(yùn)行的時(shí)間為25,000個(gè)時(shí)鐘周期。實(shí)驗(yàn)結(jié)果顯示,與動(dòng)態(tài)XY路由算法和回退轉(zhuǎn)向路由算法相比,廣播機(jī)制路由算法在平
7均包延遲上面有很大的改善,如圖6所示,最大改善程度分別能夠達(dá)到32. 74%和22. 68%。同時(shí)在不同的網(wǎng)絡(luò)負(fù)載條件下,廣播機(jī)制路由算法都優(yōu)于動(dòng)態(tài)XY算法和回退路由轉(zhuǎn)向算法。
對于不同的應(yīng)用,只需要將本實(shí)例中的本地子系統(tǒng)替換成處理單元或存儲(chǔ)單元, 從而可以支持具體的應(yīng)用。廣播機(jī)制路由算法可以最大化網(wǎng)絡(luò)通信速率,復(fù)雜度低,可用于實(shí)現(xiàn)高吞吐量、低成本、低延遲的片上路由器,適用于高性能的片上網(wǎng)絡(luò)系統(tǒng)。
權(quán)利要求
1.一種面向包-電路交換片上路由器的廣播機(jī)制路由算法,其特征在于該路由算法為自適應(yīng)路由算法,路由器根據(jù)片上網(wǎng)絡(luò)擁塞情況進(jìn)行路由仲裁,動(dòng)態(tài)選擇路由路徑,記錄滿足路由條件的輸出端口,采用廣播式機(jī)制向可以路由的輸出端口發(fā)送建立包,選擇可以先建立的鏈路進(jìn)行數(shù)據(jù)傳輸,釋放另外一條鏈路,實(shí)現(xiàn)廣播式路由,避免擁塞減小片上網(wǎng)絡(luò)傳輸中的包延時(shí);具體步驟如下1)如果X方向和Y方向的輸出端口同時(shí)滿足路由條件并且至少有一個(gè)方向不被占用, 那么存儲(chǔ)這兩個(gè)端口信號(hào);如果只有X方向或者Y方向中一個(gè)輸出端口滿足路由條件且不被占用,只存儲(chǔ)這一個(gè)端口號(hào);如果沒有輸出端口同時(shí)滿足路由條件且不被占用,那么不存儲(chǔ)任何端口號(hào);2)在滿足路由條件并且鏈路不被占用時(shí),若X方向和Y方向均滿足此條件,同時(shí)向滿足路由條件的X方向鏈路和Y方向鏈路發(fā)送請求信息,進(jìn)行數(shù)據(jù)傳輸;只有一個(gè)方向滿足時(shí)則只向該方向條鏈路發(fā)送請求信息,進(jìn)行數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的面向包-電路交換片上路由器的廣播機(jī)制路由算法,其特征在于步驟2)中,在選擇兩個(gè)路由方向時(shí),同時(shí)對這兩個(gè)方向進(jìn)行路由,選擇首先獲得反饋建立信號(hào)的那條鏈路進(jìn)行數(shù)據(jù)傳輸,釋放掉另外一條鏈路資源使其繼續(xù)用于其他路由過程中;如果先收到一條鏈路反饋的路由失敗信號(hào),則放棄該鏈路,等待另外一條鏈路的反饋信號(hào),若另外一條鏈路路由成功,則進(jìn)行數(shù)據(jù)傳輸。
3.根據(jù)權(quán)利要求1所述的面向包-電路交換片上路由器的廣播機(jī)制路由算法,其特征在于步驟2)中,在兩個(gè)方向同時(shí)路由時(shí),如果同時(shí)獲得兩條鏈路反饋的鏈路建立信號(hào),則選擇優(yōu)先級(jí)高的X方向進(jìn)行數(shù)據(jù)傳輸;如果兩條鏈路全都路由失敗,則向上一級(jí)路由器反饋路由失敗信號(hào)。
4.根據(jù)權(quán)利要求1所述的面向包-電路交換片上路由器的廣播機(jī)制路由算法,其特征在于在每一條鏈路的路由過程中采用動(dòng)態(tài)路由方式,根據(jù)鏈路資源的占用情況進(jìn)行路由仲裁,不向180度方向折回路由,并且不向原來目的節(jié)點(diǎn)的方向路由。
5.根據(jù)權(quán)利要求1所述的面向包-電路交換片上路由器的廣播機(jī)制路由算法,其特征在于所述路由器包括依次連接的輸入狀態(tài)機(jī)(1)、優(yōu)先編碼器(2)、地址譯碼器(3)、仲裁器(4)和輸出狀態(tài)機(jī)(5);輸入狀態(tài)機(jī)(1)接收上一級(jí)路由器的路由請求信號(hào),控制輸入通道的工作狀態(tài),并將接收的請求信號(hào)傳送給優(yōu)先級(jí)編碼器(2);路由失敗時(shí)傳遞失敗信號(hào);優(yōu)先編碼器(2)根據(jù)優(yōu)先設(shè)定的優(yōu)先級(jí)順序?qū)φ埱笮盘?hào)進(jìn)行編碼,選出優(yōu)先處理的輸入端口 ;地址譯碼器(3)根據(jù)優(yōu)先處理的輸入端口中的請求信號(hào),將目標(biāo)節(jié)點(diǎn)地址信號(hào)轉(zhuǎn)變?yōu)槁酚煞较蛐盘?hào)輸出;仲裁器(4)接收地址譯碼器的解碼結(jié)果,根據(jù)鏈路的占用情況,存儲(chǔ)解碼結(jié)果中不被占用的輸出端口號(hào),將輸入端口與所有合適的輸出端口相連,一個(gè)輸入端口最多能與兩個(gè)輸出端口相連,并記錄鏈路占用情況;沒有被存儲(chǔ)的輸出端口時(shí),通過輸入狀態(tài)機(jī)(1)向上一級(jí)路由器發(fā)送路由失敗信號(hào);通過輸出狀態(tài)機(jī)(5)收到下一級(jí)路由器的路由失敗信號(hào)時(shí), 根據(jù)存儲(chǔ)的其他可能的輸出端口號(hào)和鏈路占用信息,重新選擇輸出端口,直到選擇合適的路徑到達(dá)目的節(jié)點(diǎn);輸出狀態(tài)機(jī)(5)接收仲裁器的輸入端口與輸出端口互連信號(hào),向下一級(jí)路由器傳遞路由請求信號(hào),控制輸出通道的工作狀態(tài),并將接收的路由失敗信號(hào),傳送給仲裁器。
全文摘要
本發(fā)明公開了一種面向包-電路交換片上網(wǎng)絡(luò)路由器的廣播機(jī)制算法,根據(jù)片上網(wǎng)絡(luò)擁塞情況進(jìn)行路由仲裁,根據(jù)鏈路資源的占用情況動(dòng)態(tài)改變路由路徑,記錄滿足路由條件的輸出端口,當(dāng)遇到有兩個(gè)可能路徑的情況時(shí),采用廣播機(jī)制,同時(shí)選擇兩條可能路徑進(jìn)行路由嘗試,每條路由嘗試中都采用了回退轉(zhuǎn)向路由算法,能夠避免死鎖,選擇兩條路徑中先建立的鏈路進(jìn)行數(shù)據(jù)傳輸,釋放掉另外一條未建立的鏈路。本發(fā)明在同一時(shí)間內(nèi)嘗試不同的路由路徑,從而可以充分利用網(wǎng)絡(luò)資源,有效避免了擁塞,同時(shí)幾乎不影響吞吐量情況下減小了平均包延遲。本發(fā)明資源消耗少、傳輸延時(shí)小,適用于實(shí)現(xiàn)高性能的片上網(wǎng)絡(luò)系統(tǒng)。
文檔編號(hào)H04L12/56GK102368739SQ20111039371
公開日2012年3月7日 申請日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
發(fā)明者何書專, 李麗, 李偉, 沙金, 潘紅兵, 秦云海, 鄭維山 申請人:南京大學(xué)