本發(fā)明涉及眾核片上網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法及裝置。
背景技術(shù):
在大規(guī)模眾核處理器中,為了滿足眾核之間的數(shù)據(jù)傳輸需求,片上網(wǎng)絡(luò)越來越發(fā)揮著重要的作用。相對于總線結(jié)構(gòu)來說,片上網(wǎng)絡(luò)具有較高的傳輸效率和較低的傳輸延遲,成為眾核體系結(jié)構(gòu)設(shè)計領(lǐng)域熱門的研究方向之一。然而,傳統(tǒng)片上網(wǎng)絡(luò)的實現(xiàn)大都采用靜態(tài)設(shè)計思路,鏈路的帶寬需要能夠承受最壞情況下的流量壓力。因此,鏈路的設(shè)計只考慮最壞情況下承受能力,但最壞的情況并不經(jīng)常發(fā)生。當(dāng)數(shù)據(jù)包大小遠(yuǎn)小于鏈路寬度時,會造成鏈路的極大浪費。
綜上可知,現(xiàn)有技術(shù)在實際使用上顯然存在不便與缺陷,所以有必要加以改進(jìn)。
技術(shù)實現(xiàn)要素:
針對上述的缺陷,本發(fā)明的目的在于提供一種高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法及裝置,其目的在于實現(xiàn)可靈活控制的高密度片上網(wǎng)絡(luò)及相應(yīng)路由器結(jié)構(gòu)設(shè)計,通過將高寬度鏈路分割成低寬度子鏈路,實現(xiàn)并行傳輸數(shù)據(jù)包,可以提高鏈路的有效利用率,提高片上網(wǎng)絡(luò)的傳輸效率,從而提升整個應(yīng)用程序的執(zhí)行效率。
為了實現(xiàn)上述目的,本發(fā)明提供一種高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法,包括:
步驟1,將第一路由和第二路由的鏈路劃分為多個低寬度的自治的子鏈路;
步驟2,檢測輸入端口的數(shù)據(jù)包的隊列,配置所述子鏈路和所述隊列在同一時刻并行傳輸最大數(shù)量的所述數(shù)據(jù)包;
步驟3,根據(jù)所述數(shù)據(jù)包并行傳輸前的路由信息,將所述數(shù)據(jù)包進(jìn)行拆分輸出。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法,所述步驟1還包括:
步驟11,根據(jù)所述子鏈路的數(shù)量分配對應(yīng)的所述第一路由和所述第二路由之上的輸入緩沖區(qū)、交叉開關(guān)、輸出緩沖區(qū)、虛通道、多選一選擇器和所述第一路由到所述第二路由之間的物理鏈路;
步驟12,所述子鏈路獨立控制傳輸所述數(shù)據(jù)包。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法,所述步驟2還包括:
步驟21,根據(jù)所述子鏈路的總寬度和每個所述數(shù)據(jù)包的寬度,確定每次并行傳輸所述數(shù)據(jù)包的隊列中的所述數(shù)據(jù)包的集合;
步驟22,在并行傳輸前計算所述數(shù)據(jù)包及并行傳輸?shù)臄?shù)據(jù)包分片的所述路由信息,所述路由信息包括所述數(shù)據(jù)包和所述數(shù)據(jù)包分片的輸出端口;
步驟23,根據(jù)當(dāng)前每個所述數(shù)據(jù)包的寬度,選擇每個時刻進(jìn)行數(shù)據(jù)傳輸?shù)拇笥诨虻扔谒鰯?shù)據(jù)包的寬度的所述子鏈路;
步驟24,所述第一路由輸入一個或多個所述數(shù)據(jù)包。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法,所述步驟2還包括:
步驟25,當(dāng)單個所述數(shù)據(jù)包的寬度大于單個所述子鏈路的總寬度,配置相應(yīng)數(shù)量的所述子鏈路合作傳輸所述數(shù)據(jù)包;
步驟26,當(dāng)所述數(shù)據(jù)包進(jìn)入所述第一路由的所述輸出緩沖區(qū),再一次輸入一個或多個所述數(shù)據(jù)包。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法,所述步驟3還包括:
步驟31,所述第二路由接收所述第一路由輸出的所述數(shù)據(jù)包;
步驟32,根據(jù)所述路由信息將所述數(shù)據(jù)包分流處理繼續(xù)傳輸。
本發(fā)明提供一種高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置,包括:
路網(wǎng)擴充模塊,用于將第一路由和第二路由的鏈路劃分為多個低寬度的自治的子鏈路;
傳輸管理模塊,用于檢測輸入端口的數(shù)據(jù)包的隊列,配置所述子鏈路和所述隊列在同一時刻并行傳輸最大數(shù)量的所述數(shù)據(jù)包;
拆分輸出模塊,用于根據(jù)所述數(shù)據(jù)包并行傳輸前的路由信息,將所述數(shù)據(jù)包進(jìn)行拆分輸出。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置,所述路網(wǎng)擴充模塊還包括:
鏈路劃分子模塊,用于根據(jù)所述子鏈路的數(shù)量分配對應(yīng)的所述第一路由和所述第二路由之上的輸入緩沖區(qū)、交叉開關(guān)、輸出緩沖區(qū)、虛通道、多選一選擇器和所述第一路由到所述第二路由之間的物理鏈路;
所述子鏈路獨立控制傳輸所述數(shù)據(jù)包。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置,所述傳輸管理模塊包括:
任務(wù)分配子模塊,用于根據(jù)所述子鏈路的總寬度和每個所述數(shù)據(jù)包的寬度,確定每次并行傳輸所述數(shù)據(jù)包的隊列中的所述數(shù)據(jù)包的集合;
所述高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置還包括:
路由計算模塊,用于在并行傳輸前計算所述數(shù)據(jù)包及并行傳輸?shù)臄?shù)據(jù)包分片的所述路由信息,所述路由信息包括所述數(shù)據(jù)包和所述數(shù)據(jù)包分片的輸出端口;
虛通道仲裁模塊,用于根據(jù)當(dāng)前每個所述數(shù)據(jù)包的寬度,選擇每個傳輸時刻進(jìn)行數(shù)據(jù)傳輸?shù)拇笥诨虻扔谒鰯?shù)據(jù)包的寬度的所述子鏈路。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置,所述傳輸管理模塊還包括:
合并傳輸子模塊,用于當(dāng)單個所述數(shù)據(jù)包的寬度大于單個所述子鏈路的總寬度,配置相應(yīng)數(shù)量的所述子鏈路合作傳輸所述數(shù)據(jù)包;
第一輸入子模塊,用于所述第一路由輸入一個或多個所述數(shù)據(jù)包;所述第一輸入子模塊還用于當(dāng)所述數(shù)據(jù)包進(jìn)入所述第一路由的所述輸出緩沖區(qū),再一次輸入一個或多個所述數(shù)據(jù)包。
根據(jù)本發(fā)明所述高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置,所述拆分輸出模塊包括:
第二輸入子模塊,用于所述第二路由接收所述第一路由輸出的所述數(shù)據(jù)包;
數(shù)據(jù)分流子模塊,用于根據(jù)并行傳輸前的所述路由信息將所述數(shù)據(jù)包分流處理繼續(xù)傳輸。
本發(fā)明通過高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置上通過改進(jìn)鏈路的結(jié)構(gòu)和路由方法,實現(xiàn)了細(xì)粒度數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu)及路由機制的優(yōu)化,當(dāng)每次進(jìn)行數(shù)據(jù)包的鏈路傳輸時,按照數(shù)據(jù)包的大小和鏈路的寬度大小,盡可能多的選擇數(shù)據(jù)包,提高鏈路的有效利用率。
附圖說明
圖1是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置的結(jié)構(gòu)示意圖;
圖2是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置的優(yōu)選實施例的結(jié)構(gòu)示意圖;
圖3是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法流程示意圖;
圖4是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法并行傳輸流程實施例示意圖;
圖5是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法拆分傳輸流程實施例示意圖;
圖6A是傳統(tǒng)片上網(wǎng)絡(luò)的路網(wǎng)路由裝置路由結(jié)構(gòu)示意圖;
圖6B是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置路由結(jié)構(gòu)示意圖;
圖7是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置具體實施例之Mesh片上網(wǎng)絡(luò)示意圖;
圖8是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置具體實施例之路由器示意圖;
圖9A是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置傳輸狀態(tài)示意圖之一;
圖9B是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置傳輸狀態(tài)示意圖之二;
圖9C是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置傳輸狀態(tài)示意圖之三;
圖9D是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置傳輸狀態(tài)示意圖之四;
圖9E是本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置傳輸狀態(tài)示意圖之五。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
為了解決上述問題,本發(fā)明提供一種高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置,所述高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置中的元件可以是軟件單元,硬件單元或軟硬件結(jié)合單元,結(jié)合圖示說明,如圖1~圖2所示,本發(fā)明提供的高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置100,包括:
路網(wǎng)擴充模塊10,用于將第一路由和第二路由的鏈路劃分為多個低寬度的自治的子鏈路;
傳輸管理模塊20,用于檢測輸入端口的數(shù)據(jù)包的隊列,配置所述子鏈路和所述隊列在同一時刻并行傳輸最大數(shù)量的所述數(shù)據(jù)包;
拆分輸出模塊30,用于根據(jù)所述數(shù)據(jù)包并行傳輸前的路由信息,將所述數(shù)據(jù)包進(jìn)行拆分輸出。
在本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置100的優(yōu)選實施例中,所述路網(wǎng)擴充模塊10還包括:
鏈路劃分子模塊11,用于根據(jù)所述子鏈路的數(shù)量分配對應(yīng)的所述第一路由和所述第二路由之上的輸入緩沖區(qū)、交叉開關(guān)、輸出緩沖區(qū)、虛通道、多選一選擇器和所述第一路由到所述第二路由之間的物理鏈路;所述子鏈路獨立控制傳輸所述數(shù)據(jù)包;所述多選一選擇器,是大于或等于2的選擇器,如二選一選擇器、五選一選擇器。
所述子鏈路的寬度的分配方式包括均等或不均等。例如在最開始劃分成等分的子鏈路,但在數(shù)據(jù)包大小可以占用兩個或三個以上所述子鏈路,被占用的多個子鏈路就等同于一個,一個數(shù)據(jù)包拆分成數(shù)據(jù)包分片進(jìn)入子鏈路,在路由信息中指定該數(shù)據(jù)包的數(shù)據(jù)包分片所在的所有子鏈路位置,也就是說一個數(shù)據(jù)包由不同數(shù)量的子鏈路合作傳輸。
本發(fā)明的通過將傳統(tǒng)的高寬度的用于傳輸?shù)逆溌贩指畛杉?xì)粒度的自治的子鏈路,擴展得到了如圖6B所示的高密度片上網(wǎng)絡(luò),不同于如圖6A所示的傳統(tǒng)片上網(wǎng)絡(luò),例如,將傳統(tǒng)的64比特或128比特鏈路寬度分割成4個或8個16比特寬的具有自治性的子鏈路。鏈路之間獨立自治,并且可以合并傳輸不超過鏈路寬度(即子鏈路總寬度,常見的為64比特或128比特)的大數(shù)據(jù)包,也可以獨自傳輸小數(shù)據(jù)包。當(dāng)數(shù)據(jù)包大于子鏈路寬度時,可以搶占多個子鏈路的帶寬進(jìn)行傳輸,將可以傳輸?shù)臄?shù)據(jù)包寬度從16比特擴展到更大,通過路由信息確保數(shù)據(jù)包分片之間的識別和自由拆分組合,剩余的子鏈路還可以并行傳輸其它數(shù)據(jù)包,當(dāng)數(shù)據(jù)包大小遠(yuǎn)小于鏈路寬度時,可以并行傳輸多個這樣的小數(shù)據(jù)包。通過將高寬度鏈路分割成低寬度子鏈路,實現(xiàn)并行傳輸數(shù)據(jù)包,可以提高鏈路的有效利用率,提高片上網(wǎng)絡(luò)的傳輸效率,從而提升整個應(yīng)用程序的執(zhí)行效率。實現(xiàn)了的技術(shù)效果是,在數(shù)據(jù)包路由算法基礎(chǔ)上,高密度路網(wǎng)總是選擇在同一時刻最大限度的傳輸更多的數(shù)據(jù)包。例如,當(dāng)幾個數(shù)據(jù)包順序等待被路由到下一節(jié)點時,路由器會按照自己的寬度和數(shù)據(jù)包的大小,選擇盡可能多的數(shù)據(jù)包進(jìn)行傳輸。路由信息能確保數(shù)據(jù)包分拆和并行傳輸過程中的聯(lián)系不出現(xiàn)混亂和丟失。
更好的是,傳輸管理模塊20包括:
任務(wù)分配子模塊22,用于根據(jù)所述子鏈路的總寬度和每個所述數(shù)據(jù)包的寬度,確定每次并行傳輸所述數(shù)據(jù)包的隊列中的所述數(shù)據(jù)包的集合;
進(jìn)一步地,高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置100還包括:
路由計算模塊40,用于在并行傳輸前計算所述數(shù)據(jù)包及并行傳輸?shù)臄?shù)據(jù)包分片的所述路由信息,所述路由信息包括所述數(shù)據(jù)包和所述數(shù)據(jù)包分片的輸出端口;
虛通道仲裁模塊50,用于根據(jù)當(dāng)前每個所述數(shù)據(jù)包的寬度,選擇每個傳輸時刻進(jìn)行數(shù)據(jù)傳輸?shù)拇笥诨虻扔谒鰯?shù)據(jù)包的寬度的所述子鏈路。
所述傳輸管理模塊20還包括:
合并傳輸子模塊22,用于當(dāng)單個所述數(shù)據(jù)包的寬度大于單個所述子鏈路的總寬度,配置相應(yīng)數(shù)量的所述子鏈路合作傳輸所述數(shù)據(jù)包;
第一輸入子模塊23,用于所述第一路由輸入一個或多個所述數(shù)據(jù)包;所述第一輸入子模塊23還用于當(dāng)所述數(shù)據(jù)包進(jìn)入所述第一路由的所述輸出緩沖區(qū),再一次輸入一個或多個所述數(shù)據(jù)包。
片上網(wǎng)絡(luò)支持任意大小原始數(shù)據(jù)包,一般都小于或等于鏈路寬度,對于小的數(shù)據(jù)包,可以使用不小于數(shù)據(jù)包寬度的自治的子鏈路進(jìn)行傳輸,其它鏈路可并行傳輸其它大小合適的數(shù)據(jù)包,提高鏈路的有效利用率。對于超過通路寬度的大數(shù)據(jù)包,在進(jìn)入輸入端口時,即按最大鏈路的寬度大小進(jìn)行數(shù)據(jù)包的拆分,這里跟現(xiàn)有的數(shù)據(jù)包處理方式相同。
更好的是,拆分輸出模塊30還包括:
第二輸入子模塊31,用于所述第二路由接收所述第一路由輸出的所述數(shù)據(jù)包;
數(shù)據(jù)分流子模塊32,用于根據(jù)并行傳輸前的所述路由信息將所述數(shù)據(jù)包分流處理繼續(xù)傳輸。
數(shù)據(jù)包可任意組合或拆分,比如兩個路由之間的鏈路寬度為64位,分割成4個16位寬的自治子鏈路。如果兩個連續(xù)數(shù)據(jù)包整體寬度小于64位,如果一個數(shù)據(jù)包的大小大于一個子鏈路寬度且小于等于兩個子鏈路寬度的話,那么就使用兩個相鄰的子鏈路傳輸這個數(shù)據(jù)包,而不對這個數(shù)據(jù)包做任何切分,相對于傳統(tǒng)的傳輸方式,它們可以看成一個整體,而子鏈路其中的負(fù)載的數(shù)據(jù)就相當(dāng)于數(shù)據(jù)包分片,兩條子鏈路共享同一個數(shù)據(jù)包的路由信息,那么原來的兩個小寬度的子鏈路就相當(dāng)于一個大寬度的子鏈路了,以此類推其分配過程,然后將去往不同輸出端口的數(shù)據(jù)包進(jìn)行分流,傳輸?shù)较聜€路由后可按照路由信息拆分分流不同的所述數(shù)據(jù)包繼續(xù)先前的傳輸,去往不同輸出端口的數(shù)據(jù)包分開到不同的輸出緩沖區(qū)。
在本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置100的一個具體實施例中,圖7所示為高密度片上網(wǎng)絡(luò)中,相鄰兩個路由器即第一路由201、第二路由202之間的互連方式。其中,路由計算模塊203、路由計算模塊208,路由計算模塊211,用于計算數(shù)據(jù)包及數(shù)據(jù)包分片的目標(biāo)輸出端口;輸入緩沖區(qū)204,206,213,輸出緩沖區(qū)207,212,215;為交叉開關(guān)205,214;物理傳輸鏈路209、物理傳輸鏈路210。粗粒度的鏈路被切換成細(xì)粒度的子鏈路模式時,相應(yīng)的輸入緩沖區(qū)、輸出緩沖區(qū)、虛通道以及交叉開關(guān)205、214也將隨之切分成相應(yīng)的數(shù)量以達(dá)到子鏈路的自治功能。
相應(yīng)的,圖8展示了單路由器的內(nèi)部結(jié)構(gòu),輸入端口301為其中一個輸入端口拆分示意圖。示意圖以單鏈路拆分成四個子鏈路為例,每條子鏈路配置為2個二選一選擇器302和二選一選擇器304、2個虛通道303、1個1x5的交叉開關(guān)305,每個交叉開關(guān)305分別與其它四個方向鏈接。還設(shè)置有路由計算模塊306,為輸入端口數(shù)據(jù)包計算輸出端口。虛通道仲裁模塊307,選擇某個時刻可以進(jìn)行數(shù)據(jù)傳輸?shù)耐?,即子鏈路channel1、channel2、channel3、channel4中的至少一個。高密度細(xì)粒度片上網(wǎng)絡(luò)通路將傳統(tǒng)高寬度鏈路分割成自治的高密度底寬度鏈路;片上網(wǎng)絡(luò)支持任意大小原始數(shù)據(jù)包;數(shù)據(jù)包可按數(shù)據(jù)包大小,通路寬度任意組合或拆分,根據(jù)需要設(shè)置子鏈路的寬度;每次傳輸數(shù)據(jù)包時,盡可能的傳輸更多的數(shù)據(jù)包,提高通路的有效利用率,具體地可以使用貪心算法實現(xiàn)優(yōu)化每次輸入的數(shù)據(jù)包數(shù)量。
更進(jìn)一步地,為了使得本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法的實施更清楚,其通過本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置100實現(xiàn),如圖3所示的流程圖,步驟包括:
步驟S301,將第一路由和第二路由的鏈路劃分為多個低寬度的自治的子鏈路;這一步,路網(wǎng)擴充模塊10將鏈路劃分為多個低寬度的自治的子鏈路;
步驟S302,檢測輸入端口的數(shù)據(jù)包的隊列,配置所述子鏈路和所述隊列在同一時刻并行傳輸最大數(shù)量的所述數(shù)據(jù)包;
這一步,傳輸管理模塊20檢測輸入端口的外等待傳輸?shù)臄?shù)據(jù)包的隊列,然后結(jié)合路由信息中每個數(shù)據(jù)包的大小信息等配置所述子鏈路和所述隊列在同一時刻并行傳輸最大數(shù)量的所述數(shù)據(jù)包,
步驟S303,根據(jù)所述數(shù)據(jù)包并行傳輸前的路由信息,將所述數(shù)據(jù)包進(jìn)行拆分輸出。最后,拆分輸出模塊30實現(xiàn)數(shù)據(jù)包之間的拆分。
其中優(yōu)選的是,步驟S301還包括:
根據(jù)所述子鏈路的數(shù)量分配對應(yīng)的所述第一路由和所述第二路由之上的輸入緩沖區(qū)、交叉開關(guān)、輸出緩沖區(qū)、虛通道、多選一選擇器和所述第一路由到所述第二路由之間的物理鏈路;鏈路劃分子模塊11實現(xiàn)這一步驟;
所述子鏈路獨立控制傳輸所述數(shù)據(jù)包。
本發(fā)明所述路網(wǎng)實現(xiàn)方法,為了更好的管理數(shù)據(jù)包的傳輸,在第二實施例中,所述步驟包括:
步驟S401,根據(jù)所述子鏈路的總寬度和每個所述數(shù)據(jù)包的寬度,確定每次并行傳輸所述數(shù)據(jù)包的隊列中的所述數(shù)據(jù)包的集合;
步驟S402,根據(jù)當(dāng)前每個所述數(shù)據(jù)包的寬度,選擇每個時刻進(jìn)行數(shù)據(jù)傳輸?shù)拇笥诨虻扔谒鰯?shù)據(jù)包的寬度的所述子鏈路;
步驟S403,所述第一路由輸入一個或多個所述數(shù)據(jù)包。
任務(wù)分配子模塊22選擇好大小不同的組合的數(shù)據(jù)包,確定每一次的輸入對象,與之對應(yīng)的是,路由計算模塊40、虛通道仲裁模塊50、合并傳輸子模塊22第一輸入子模塊23分別負(fù)責(zé)子鏈路的合作傳輸組織子鏈路的對應(yīng)每個數(shù)據(jù)包、到數(shù)據(jù)傳入下一路由時的數(shù)據(jù)包再次輸入。
更優(yōu)選的是,所述步驟S402還包括:
當(dāng)單個所述數(shù)據(jù)包的寬度大于單個所述子鏈路的總寬度,配置相應(yīng)數(shù)量的所述子鏈路合作傳輸所述數(shù)據(jù)包;
對于步驟S403,在當(dāng)前所述輸入端口還有數(shù)據(jù)等待下一輪輸入時,設(shè)置為:
當(dāng)所述數(shù)據(jù)包進(jìn)入所述第一路由的所述輸出緩沖區(qū),再一次輸入一個或多個所述數(shù)據(jù)包。
如圖4所示的實施例中完成了傳輸過程中的子鏈路的配置、數(shù)據(jù)包的拆分和排隊,由于實際應(yīng)用中還需要數(shù)據(jù)包進(jìn)行合并傳輸,如圖7所示,將兩個小數(shù)據(jù)包可以看成一個傳統(tǒng)的大數(shù)據(jù)包,小數(shù)據(jù)包進(jìn)一步地進(jìn)入子鏈路中的數(shù)據(jù)包分片,數(shù)據(jù)分流子模塊32進(jìn)一步分流,才能由路由本地接口向核心傳輸,通過任務(wù)分配子模塊21實現(xiàn)所述數(shù)據(jù)包的隊列管理,在傳輸時對數(shù)據(jù)包進(jìn)行檢測、拆分然后經(jīng)過交叉開關(guān)205輸出到輸出緩沖。
在本優(yōu)選的第二實施例中,如圖5所示,第二路由輸出目標(biāo)數(shù)據(jù)包時,需要將原有并行傳輸過程中拆成數(shù)據(jù)包分片的重新組合為完整的原有的獨立的數(shù)據(jù)包,在該流程中,所述步驟包括:
步驟S501,所述第二路由接收所述第一路由輸出的所述數(shù)據(jù)包;
步驟S502,根據(jù)所述路由信息將所述數(shù)據(jù)包分流處理得到所述數(shù)據(jù)包繼續(xù)傳輸。第二輸入子模塊31數(shù)據(jù)分流子模塊32,分別執(zhí)行上述步驟。
為了使得本發(fā)明高密度片上網(wǎng)絡(luò)的路網(wǎng)實現(xiàn)方法更加清楚,在第三實施例中,與第二實施例中的流程進(jìn)行對照,如圖9A~圖9E所示的高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置100的傳輸狀態(tài)示意圖,圖6B所示為高密度路網(wǎng)的基本實現(xiàn)原理,其中,傳統(tǒng)片上網(wǎng)絡(luò)的高寬度鏈路101,片上路由器102,對應(yīng)的是高密度片上網(wǎng)絡(luò)中的細(xì)粒度子鏈路103的設(shè)計。以2D Mesh片上網(wǎng)絡(luò)實現(xiàn)為例(本發(fā)明同樣適用于其它片上網(wǎng)絡(luò)結(jié)構(gòu),如環(huán)狀網(wǎng)絡(luò)、總線結(jié)構(gòu)、Torus網(wǎng)絡(luò)等等)。在Mesh拓?fù)渲?,每個路由器有四個方向(東,西,南,北),以及與本地設(shè)備的接口。本發(fā)明將傳統(tǒng)的高寬度鏈路分割成低寬度的自治子鏈路,如圖6中103結(jié)構(gòu)所示,128比特寬的通路分割成8個16比特寬度的自治的子鏈路,每個子鏈路可獨立控制傳輸數(shù)據(jù)包,也可以共同工作傳輸大數(shù)據(jù)包。第一路由201中的交叉開關(guān)205、2交叉開關(guān)215,路由器之間的傳輸鏈路210。
步驟1:Cycle 0時,如圖9A所示,在West In端口有四個不同粒度數(shù)據(jù)包A、B、C、D、排隊等待傳輸,在North In端口有一個數(shù)據(jù)包等待傳輸。假設(shè)子鏈路通道大小為單位1,則數(shù)據(jù)包A、B、C、D、E大小分別為2、4、3、1、2;
步驟2:Cycle 1時,如圖9B所示,數(shù)據(jù)包A被傳入第一路由201的輸入緩沖中,因為數(shù)據(jù)包A和B之和為6超過了鏈路的總寬度(即子鏈路總寬度)4,所以本次傳輸只有A數(shù)據(jù)包能通過。而數(shù)據(jù)E大小為2可以順利進(jìn)入第一路由201的輸入緩沖區(qū);
步驟3:Cycle 2時,如圖9C所示,數(shù)據(jù)包A根據(jù)路由算法,經(jīng)過交叉開關(guān)傳輸?shù)捷敵鼍彌_區(qū)中等待輸出,而與此同時數(shù)據(jù)包E可以和A同時傳輸?shù)降谝宦酚?01中的East Out端口。與此同時,數(shù)據(jù)包B被輸入到第一路由201的輸入緩沖區(qū)204中;
步驟4:Cycle 3時,如圖9D所示,數(shù)據(jù)包A、B和E按序向前傳遞,數(shù)據(jù)包C,D同時被傳遞到第一路由201的輸入緩沖區(qū)204。此時,因為數(shù)據(jù)包C和數(shù)據(jù)包D的大小沒有超出鏈路的寬度4,所以數(shù)據(jù)包C和數(shù)據(jù)包D可同時并行傳輸;
步驟5:Cycle 4時,如圖9E所示,數(shù)據(jù)包A和數(shù)據(jù)包E因為目的地的不同拆分后分別傳輸?shù)絅orth Out和East Out端口完成數(shù)據(jù)包的拆分傳輸操作。
綜上所述,本發(fā)明通過高密度片上網(wǎng)絡(luò)的路網(wǎng)路由裝置上通過改進(jìn)鏈路的結(jié)構(gòu)和路由方法,當(dāng)每次進(jìn)行數(shù)據(jù)包的鏈路傳輸時,按照數(shù)據(jù)包的大小和鏈路的寬度大小,盡可能多的選擇數(shù)據(jù)包,提高鏈路的有效利用率。
當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。