欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

三維片上網(wǎng)絡(luò)架構(gòu)方法

文檔序號(hào):7686350閱讀:166來(lái)源:國(guó)知局
專利名稱:三維片上網(wǎng)絡(luò)架構(gòu)方法
技術(shù)領(lǐng)域
本發(fā)明屬于集成電路芯片中的各處理單元之間的網(wǎng)絡(luò)連接方法,特別是三維片上網(wǎng)絡(luò)的 連接以及相關(guān)的數(shù)據(jù)傳輸過(guò)程。
背景技術(shù)
近年來(lái),隨著技術(shù)的發(fā)展,出現(xiàn)了一種新的封裝形式——三維封裝,即把多個(gè)裸片垂直 的疊加起來(lái)并且封裝成一個(gè)芯片。三維封裝得到的芯片被稱為三維IC,和傳統(tǒng)的二維IC相 比,它具有容量大、密度大等眾多優(yōu)點(diǎn)。
因?yàn)槿SNoC (Network on Chip,片上網(wǎng)絡(luò))的架構(gòu)對(duì)網(wǎng)絡(luò)的吞吐率、可靠性、應(yīng)用 層的任務(wù)映射以及芯片的面積和功耗影響很大,所以三維NoC的架構(gòu)方案是實(shí)現(xiàn)三維NoC 最基本、最重要的一個(gè)環(huán)節(jié)。三維NoC的架構(gòu)一般由網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)、 以及路由算法三方面組成,網(wǎng)絡(luò)架構(gòu)中的基本單元是網(wǎng)絡(luò)節(jié)點(diǎn),網(wǎng)絡(luò)節(jié)點(diǎn)是由一般由處理數(shù) 據(jù)的處理單元和傳輸數(shù)據(jù)的路由單元構(gòu)成,多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的連接方式形成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),各 節(jié)點(diǎn)之間信息交流的途徑是由路由算法直接決定的。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)決定了路由算法的難易和 復(fù)雜度程度,合理的路由算法可以提高系統(tǒng)的吞吐率、減小網(wǎng)絡(luò)的平均延時(shí)、提高系統(tǒng)的可 靠性并且降低芯片的功耗和面積。
通過(guò)查新和廣泛收集文獻(xiàn)資料,我們發(fā)現(xiàn)已經(jīng)公開(kāi)的三維NoC方法有如下幾類
參考文獻(xiàn)PartHa Pratim Pande, Amlan Ganguly, Brett Feero, et. al, Applicability of Energy Efficient Coding Methodology to Address Signal Integrity in 3D NoC Fabrics, 13th IEEE International On-Line Testing Symposium,2007.Page(s):161 - 166禾口參考文獻(xiàn)Brett Feero, PartHa Pratim Pande, Performance Evaluation for Three-Dimensional Networks-On-Chip, IEEE Computer Society Annual Symposium on VLSI,2007.Page(s):305 — 310給出了采用三維Mesh結(jié) 構(gòu)的單一拓?fù)浞椒?,這類結(jié)構(gòu)將三維的網(wǎng)絡(luò)作為一個(gè)整體,采用Mesh網(wǎng)絡(luò)進(jìn)行連接,每個(gè) 節(jié)點(diǎn)都與六個(gè)方向的節(jié)點(diǎn)連接。這種結(jié)構(gòu)中,網(wǎng)絡(luò)地址是三維坐標(biāo)(x, y, z)構(gòu)成。采用維序 路由算法,數(shù)據(jù)包依次在x軸、y軸和z軸上傳遞到目的坐標(biāo)。因?yàn)镸esh結(jié)構(gòu)具有拓?fù)浜?jiǎn) 單的優(yōu)點(diǎn),所以這種架構(gòu)的優(yōu)點(diǎn)是網(wǎng)絡(luò)結(jié)構(gòu)與路由算法簡(jiǎn)單,但是由于Mesh結(jié)構(gòu)的網(wǎng)絡(luò)直 徑大,以及路由算法沒(méi)有容錯(cuò)性, 一旦網(wǎng)絡(luò)擁塞,數(shù)據(jù)包無(wú)法重新選擇一條新的路徑,只能 阻塞等待,因此數(shù)據(jù)包在這類架構(gòu)中傳遞時(shí)平均跳數(shù)較多,網(wǎng)絡(luò)延時(shí)較大,吞吐率較低。
Hiroki Matsutani, Michihiro Koibuchi, HideHaru Amano, Tightly-Coupled Multi-Layer Topologies for 3-D NoCs, 2007 International Conference on Parallel Processing. Page(s):75 - 75
給出了在水平面網(wǎng)絡(luò)方向采用Mesh結(jié)構(gòu)與在垂直方向采用柱狀結(jié)構(gòu)相結(jié)合的分級(jí)拓?fù)渥鳛?三維NoC的架構(gòu),該架構(gòu)中網(wǎng)絡(luò)節(jié)點(diǎn)分為兩類, 一類(甲類)由處理單元和路由單元構(gòu)成, 但處理單元與路由單元之間沒(méi)有連接,只是它們的地址是相同的,另一類(乙類)由只有交 換單元,平面網(wǎng)絡(luò)采用Mesh結(jié)構(gòu)作為拓?fù)?,垂直網(wǎng)絡(luò)采用柱狀結(jié)構(gòu)進(jìn)行連接,每個(gè)柱狀結(jié) 構(gòu)有且只有一個(gè)乙類節(jié)點(diǎn)。每個(gè)甲類節(jié)點(diǎn)的路由單元除與其所在平面的四個(gè)方向上相臨的4 個(gè)甲節(jié)點(diǎn)連接外,只與該節(jié)點(diǎn)所在柱狀結(jié)構(gòu)的乙類節(jié)點(diǎn)連接,甲節(jié)點(diǎn)地址用水平面網(wǎng)絡(luò)的編 號(hào)和垂直方向的坐標(biāo)點(diǎn)構(gòu)成二維地址,同一個(gè)柱狀結(jié)構(gòu)里的節(jié)點(diǎn)的甲類節(jié)點(diǎn)的水平面網(wǎng)絡(luò)編號(hào)是相同的。由于甲類節(jié)點(diǎn)的處理單元和路由單元之間沒(méi)有連接,數(shù)據(jù)傳輸?shù)穆酚芍荒苁鞘?數(shù)據(jù)包首先在源節(jié)點(diǎn)所在的柱狀結(jié)構(gòu)里傳遞,然后在水平的Mesh網(wǎng)絡(luò)中傳遞到目標(biāo)節(jié)點(diǎn)的 所在的柱狀結(jié)構(gòu)的節(jié)點(diǎn)上,再在目標(biāo)節(jié)點(diǎn)的所在的柱狀結(jié)構(gòu)傳遞到目標(biāo)節(jié)點(diǎn)的處理單元里。 由于這種架構(gòu)也是以Mesh結(jié)構(gòu)為基礎(chǔ)的,所以具有數(shù)據(jù)包平均跳數(shù)較多、網(wǎng)絡(luò)延時(shí)較大、 無(wú)法自適應(yīng)容錯(cuò)等缺點(diǎn),還節(jié)點(diǎn)的處理單元和路由單元沒(méi)有直接相連,因此數(shù)據(jù)傳遞環(huán)節(jié)較 多,但由于柱狀結(jié)構(gòu)使得垂直方向的跳數(shù)變少,因此它有較高的吞吐率。
參考文獻(xiàn)Horiguchi, S.; Ooki, T.; Hierarchical 3D-Torus Interconnection Network, International Symposium on Parallel Architectures, Algorithms and "Networks, 2000. Page(s):50 -56三維Toms結(jié)構(gòu)的構(gòu)造方法,即由多個(gè)三維Mesh網(wǎng)絡(luò)以Toms結(jié)構(gòu)的方式構(gòu)成的層次化的三 維Torus結(jié)構(gòu)。因?yàn)門orus結(jié)構(gòu)只是對(duì)Mesh結(jié)構(gòu)進(jìn)行了簡(jiǎn)單的擴(kuò)展,仍然具有Mesh結(jié)構(gòu)的特 性,網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)與路由算法也是對(duì)Mesh結(jié)構(gòu)算法進(jìn)行了繼承與簡(jiǎn)單改進(jìn),所以也具有網(wǎng) 絡(luò)延時(shí)較大、吞吐量較低的缺點(diǎn)。
幾乎現(xiàn)有三維NoC架構(gòu)都是基于Mesh結(jié)構(gòu)的,而De Bmijn圖結(jié)構(gòu)具有網(wǎng)絡(luò)直徑小、 節(jié)點(diǎn)度固定、路徑靈活等優(yōu)點(diǎn),因此可以利用這些優(yōu)點(diǎn)來(lái)設(shè)計(jì)更好的路由算法和數(shù)據(jù)傳輸方 式以提高數(shù)據(jù)傳輸效率和吞吐率,但DeBruijn圖作為網(wǎng)絡(luò)結(jié)構(gòu)目前只在二維NoC上實(shí)現(xiàn)并 應(yīng)用,參考文獻(xiàn)MoHammad Hosseinababy, MoHammad Reza Kakoee, Jimson Mathew, et. al, Reliable Network-on-Chip Based on Generalized de Bruijn Graph, IEEE International High Level Design Validation and Test Workshop,2007.Page(s):3 - 10就是介紹的用De Bruijn圖作為二維 NoC的架構(gòu)方法。
在De Bruijn圖拓?fù)浣Y(jié)構(gòu)中,如果兩個(gè)節(jié)點(diǎn)相鄰,則它們的地址編號(hào)i和j必須滿足下 列任一公式
/ = (c *_/ + r)mod w, r = 0,1,...,6 —1
_/ = (fi */ + 。mod w, r = 0,l,...,c —1 其中,n為節(jié)點(diǎn)數(shù),d為地址編號(hào)的進(jìn)制。上式表明任一節(jié)點(diǎn)的二進(jìn)制地址左移或右移,再 補(bǔ)充一個(gè)比特r,則得到相鄰節(jié)點(diǎn)的地址。例如,De Bruijn圖的節(jié)點(diǎn)數(shù)為16,地址編號(hào)的進(jìn) 制為2時(shí),節(jié)點(diǎn)2 (0010b)與節(jié)點(diǎn)9 (1001b)是相鄰的,此時(shí)〖=2,〗=9,1=0。

發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有架構(gòu)方式的網(wǎng)絡(luò)延時(shí)大、吞吐率低等問(wèn)題,提供了一種基于De Bruijn 圖網(wǎng)絡(luò)結(jié)構(gòu),且打破傳統(tǒng)的水平面網(wǎng)絡(luò)和垂直面分解的三維網(wǎng)絡(luò),提出了水平面網(wǎng)絡(luò)和虛平 面組成三維網(wǎng)絡(luò)連接的片上網(wǎng)絡(luò)架構(gòu)方法。通過(guò)虛平面的靈活連接方式,提高容錯(cuò)特性、減 小網(wǎng)絡(luò)延時(shí)從而提高網(wǎng)絡(luò)的吞吐率以及高可靠性的特性。
為了便于描述,首先對(duì)一些術(shù)語(yǔ)進(jìn)行定義
水平編號(hào)、虛平面編號(hào)首先假設(shè)一個(gè)用X、 Y、 Z表示三個(gè)坐標(biāo)軸的三維坐標(biāo),其中 X和Y所組成的平面為水平面,,而虛平面由X、 Y、 Z三個(gè)方向的點(diǎn)連接而成的網(wǎng)絡(luò),而同 一個(gè)水平面上的節(jié)點(diǎn)是用一維編號(hào)來(lái)區(qū)分的,該編號(hào)就是水平編號(hào)。同一個(gè)虛平面的節(jié)點(diǎn)也 用一維編號(hào)來(lái)區(qū)分,該編號(hào)就是虛平面編號(hào)。
源節(jié)點(diǎn)發(fā)出數(shù)據(jù)包起始節(jié)點(diǎn)。
目標(biāo)節(jié)點(diǎn)數(shù)據(jù)包最終到達(dá)的節(jié)點(diǎn)。
為了達(dá)到上述性能要求,本發(fā)明主要提出了以下幾個(gè)方面的技術(shù)解決方案 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)首先用水平面網(wǎng)絡(luò)結(jié)構(gòu)和靈活的虛平面網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成三維NOC網(wǎng)絡(luò),
且水平面網(wǎng)絡(luò)是沿X和Y方向伸展的平面,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用De Bmijn圖(如圖1所示),而虛平面網(wǎng)絡(luò)是沿X 、 Y和Z三個(gè)方向伸展的曲面,其網(wǎng)絡(luò)可以按照解決某種問(wèn)題(比如 降低布線的復(fù)雜度或提高容錯(cuò)特性)的需要由每一層水平面網(wǎng)絡(luò)上的某些節(jié)點(diǎn)連接而成,也 就是說(shuō)這些節(jié)點(diǎn)不一定在一個(gè)垂直平面上。
網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)每個(gè)節(jié)點(diǎn)由路由單元和處理單元組成,且路由單元與處理單元之間有 數(shù)據(jù)線連接,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的地址是用其所在的水平面網(wǎng)絡(luò)上的編號(hào)和所在虛平面上的編號(hào) 組成的二維地址,所述的水平面網(wǎng)絡(luò)上的編號(hào)是完全按照De Bruijn圖的地址編號(hào)要求進(jìn)行 的,而在虛平面上的編號(hào)是根據(jù)虛平面的構(gòu)成方法決定的。
其數(shù)據(jù)包傳遞過(guò)程為數(shù)據(jù)包先在水平面網(wǎng)絡(luò)(NoT, Network on Tier)上傳遞,然后再 在虛平面網(wǎng)絡(luò)上傳遞,即數(shù)據(jù)包從源節(jié)點(diǎn)開(kāi)始先在水平面網(wǎng)絡(luò)上傳遞到中轉(zhuǎn)節(jié)點(diǎn),所述的中 轉(zhuǎn)節(jié)點(diǎn)是既在源節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò)上又在目標(biāo)節(jié)點(diǎn)所在的虛平面上的節(jié)點(diǎn),再?gòu)闹修D(zhuǎn)節(jié) 點(diǎn)開(kāi)始在虛平面網(wǎng)絡(luò)上傳遞到目標(biāo)節(jié)點(diǎn);數(shù)據(jù)包在路由節(jié)點(diǎn)間的傳遞中要排除擁塞或不可靠 鏈路并重新計(jì)算路由,即由源節(jié)點(diǎn)計(jì)算數(shù)據(jù)包從源節(jié)點(diǎn)到傳遞到目標(biāo)節(jié)點(diǎn)的路由路徑,在傳 遞過(guò)程中每個(gè)節(jié)點(diǎn)都要檢測(cè)它到當(dāng)前路由中的下一個(gè)節(jié)點(diǎn)的鏈路是否是擁塞或不可靠,如果 檢査到到下一個(gè)節(jié)點(diǎn)的鏈路擁塞或不可靠,則當(dāng)前的檢測(cè)節(jié)點(diǎn)將根據(jù)容錯(cuò)要求以某種路由算 法重新計(jì)算出一條從當(dāng)前的檢測(cè)節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路徑。
實(shí)質(zhì)與效果
由于De Bruijn圖是一種性能優(yōu)異的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),具有網(wǎng)絡(luò)直徑小、節(jié)點(diǎn)度固定、通 過(guò)移位方法就可以計(jì)算路由等優(yōu)點(diǎn),同時(shí)采用X、 Y和Z三個(gè)方向的節(jié)點(diǎn)連接的虛平面方法, 可以利用靈活的節(jié)點(diǎn)連接方式,提高容錯(cuò)特性(例如用雙環(huán)狀拓?fù)浣Y(jié)構(gòu),實(shí)施例二給出), 減少延時(shí)(例如用De Bruijn圖,實(shí)施例一給出),且該網(wǎng)絡(luò)構(gòu)造允許在數(shù)據(jù)傳輸過(guò)程中回避 擁塞鏈路而提高了可靠性,因此本發(fā)明的三維NoC架構(gòu)能同時(shí)滿足網(wǎng)絡(luò)延時(shí)小、吞吐率高、 可靠性強(qiáng)的要求,同時(shí),因?yàn)槁酚伤惴ㄖ邢仍谒矫婢W(wǎng)絡(luò)上傳遞然后再在虛平面上傳遞,所 以路由算法實(shí)現(xiàn)簡(jiǎn)單、可靠。


圖l是DeBruijn拓?fù)浣Y(jié)構(gòu)圖2是本發(fā)明的實(shí)施例一的以每個(gè)水平面網(wǎng)絡(luò)有16個(gè)節(jié)點(diǎn)為例的虛平面的劃分圖; 圖3是本發(fā)明的實(shí)施例二 16個(gè)節(jié)點(diǎn)的雙環(huán)劃分示意圖4是本發(fā)明的實(shí)施例二中當(dāng)水平面網(wǎng)絡(luò)的層數(shù)為偶數(shù)時(shí)的雙環(huán)連接網(wǎng)絡(luò)結(jié)構(gòu)示意圖5是本發(fā)明的實(shí)施例二中當(dāng)水平面網(wǎng)絡(luò)的層數(shù)為奇數(shù)時(shí)的雙環(huán)連接網(wǎng)絡(luò)結(jié)構(gòu)示意圖
圖6是本發(fā)明的實(shí)施例一的路由算法所采用的數(shù)據(jù)包的包頭格式;
圖7是本發(fā)明的實(shí)施例二的路由算法所采用的數(shù)據(jù)包的包頭格式。
其中,1是節(jié)點(diǎn),2是節(jié)點(diǎn)的水平編號(hào)數(shù)據(jù),3是實(shí)施例一中水平面網(wǎng)絡(luò)上包含4個(gè)節(jié)點(diǎn)的 哈密爾頓路,4是實(shí)施例二中包含8個(gè)節(jié)點(diǎn)的哈密爾頓路,5是實(shí)施例二中第一層水平面網(wǎng) 絡(luò)上的哈密爾頓路HA的起點(diǎn),6是各層水平面網(wǎng)絡(luò)上HA路的起點(diǎn),7是第一層水平面網(wǎng) 絡(luò)的HA路的終點(diǎn),8是第二層水平面網(wǎng)絡(luò)的HA路的終點(diǎn),9是第二層HA路的第二個(gè)節(jié) 點(diǎn),IO是第三層HA路的第二個(gè)節(jié)點(diǎn);
11是實(shí)施例一中目標(biāo)節(jié)點(diǎn)的水平編號(hào),12是實(shí)施例一中目標(biāo)節(jié)點(diǎn)的虛平面編號(hào),13是實(shí)施例一中源節(jié)點(diǎn)的水平編號(hào),14是實(shí)施例一源節(jié)點(diǎn)的虛平面編號(hào),15是實(shí)施例一中代表數(shù)據(jù) 包的傳遞方向的值,16是實(shí)施例一中數(shù)據(jù)包在水平面剩余跳數(shù),17表示水平面地址的移位 方向的序列(為0表示左移,為1表示右移),18是水平面錯(cuò)誤l未找到引用源。填充序列, 19是實(shí)施例一中數(shù)據(jù)包在虛平面剩余跳數(shù),20是虛平面地址移位方向序列,21是虛平面上 填充序列;22是實(shí)施例二中目標(biāo)節(jié)點(diǎn)的水平編號(hào),23是實(shí)施例二中目標(biāo)節(jié)點(diǎn)的Z坐標(biāo),24 是實(shí)施例二中源節(jié)點(diǎn)的水平編號(hào),25是實(shí)施例二中源節(jié)點(diǎn)的Z坐標(biāo),26是實(shí)施例二中代表 數(shù)據(jù)包的傳遞方向的值(為0表示在^C平面網(wǎng)絡(luò)上傳遞,為l表示在環(huán)上傳遞),27是實(shí)施 例二是水平面網(wǎng)絡(luò)上的剩余跳數(shù),28表示地址的移位方向(為0表示左移,為1表示右移), 29錯(cuò)誤!未找到引用源。是錯(cuò)誤!未找到引用源。填充序列。
具體實(shí)施例方式
下面介紹兩種實(shí)施例。第一種是用DeBruijn圖作為虛平面的構(gòu)架方法,第二種是用環(huán) 狀拓?fù)浣Y(jié)構(gòu)作為虛平面的構(gòu)架方法。
實(shí)施例一
網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)本發(fā)明的實(shí)施例一中的三維NoC的架構(gòu)方式如下它的水平面網(wǎng)絡(luò) 和虛平面網(wǎng)絡(luò)都是DeBruijn圖結(jié)構(gòu),每個(gè)水平面網(wǎng)絡(luò)上的節(jié)點(diǎn)的數(shù)量是相等的,每個(gè)虛平 面上的節(jié)點(diǎn)數(shù)也是相等的,每個(gè)節(jié)點(diǎn)的水平編號(hào)和虛平面編號(hào)都是按照De Bruijn圖構(gòu)造方 法編排的,為了降低芯片中布局布線的復(fù)雜度,構(gòu)成每個(gè)虛平面的節(jié)點(diǎn)的劃分應(yīng)能夠盡量利 用水平面網(wǎng)絡(luò)上已有的連接。以4層水平面網(wǎng)絡(luò),每個(gè)平面上有16個(gè)節(jié)點(diǎn)為例,按照以下 方式劃分將每層水平面網(wǎng)絡(luò)上的De Bmijn圖分成四條各包含4個(gè)節(jié)點(diǎn)哈密爾頓路,分別 記為HA、 HB、 HC禾卩HD,其中一種劃分結(jié)果可以如圖2所示節(jié)點(diǎn)0、 8、 9、 12屬于HA, 節(jié)點(diǎn)5、 11、 7、 3屬于HB,節(jié)點(diǎn)l、 2、 4、 IO屬于HC,節(jié)點(diǎn)6、 13、 14、 15屬于HD,每 水平層劃分方式相同,把每水平層中的HA路的4個(gè)節(jié)點(diǎn)共16個(gè)節(jié)點(diǎn)連接成De Bruijn圖, 構(gòu)成第一個(gè)虛平面,用同樣的方式將每水平層HB、 HC或HD的節(jié)點(diǎn)連接成另外三個(gè)虛平 面,每個(gè)節(jié)點(diǎn)又都在所在的虛平面上按照De Bruijn圖構(gòu)造方法編排其虛平面編號(hào)。
節(jié)點(diǎn)結(jié)構(gòu)每個(gè)節(jié)點(diǎn)由一個(gè)路由單元和一個(gè)處理單元組成,且路由單元與處理單元之間 由數(shù)據(jù)線連接,每個(gè)節(jié)點(diǎn)既與同水平面網(wǎng)絡(luò)的節(jié)點(diǎn)相連也與其它水平面網(wǎng)絡(luò)上的節(jié)點(diǎn)連接, 節(jié)點(diǎn)的地址就是由該節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò)上的水平編號(hào)和所在的虛平面上的虛平面編號(hào) 合成的二維地址。
數(shù)據(jù)包的傳遞方法
步驟I:源節(jié)點(diǎn)判斷源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)是否在同一虛平面,如果在同一虛平面,則進(jìn)入 步驟III,否則先進(jìn)入步驟II;
步驟II:以既在目標(biāo)節(jié)點(diǎn)所在的虛平面上又在源節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò)上的所有節(jié)點(diǎn)分 別作為中轉(zhuǎn)節(jié)點(diǎn),采用某種路由算法(例如釆用簡(jiǎn)短移位路徑算法或最短移 位路徑算法,簡(jiǎn)短移位路徑算法或最短移位路徑算法均由本發(fā)明提出的,在后 面有描述)分別計(jì)算出源地址到每個(gè)中轉(zhuǎn)節(jié)點(diǎn)的最短路由,然后再在計(jì)算出的 所有最短路徑中選取最短的一條作為水平面網(wǎng)絡(luò)傳輸?shù)穆酚陕窂?,?shù)據(jù)包通過(guò) 該路由路徑傳遞到其對(duì)應(yīng)的中轉(zhuǎn)節(jié)點(diǎn)上,然后將該中轉(zhuǎn)節(jié)點(diǎn)轉(zhuǎn)換成新的源節(jié)點(diǎn);
步驟III:采用某種路由算法(例如采用簡(jiǎn)短移位路徑算法或最短移位路徑算法)計(jì) 算出從源節(jié)點(diǎn)或步驟II中的新的源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由路徑,數(shù)據(jù)包再通 過(guò)該路由從源節(jié)點(diǎn)或新的源節(jié)點(diǎn)傳遞到目標(biāo)節(jié)點(diǎn)。
9在第II步和/或第III步中的數(shù)據(jù)包在路由中的各節(jié)點(diǎn)傳遞過(guò)程中,要排除不可靠鏈路, 其方法如下每個(gè)接收到數(shù)據(jù)包的節(jié)點(diǎn)都要檢測(cè)本節(jié)點(diǎn)到下一個(gè)節(jié)點(diǎn)的鏈路是否擁塞或不可 靠,如果某節(jié)點(diǎn)檢測(cè)出到下一個(gè)節(jié)點(diǎn)的鏈路擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)不是中轉(zhuǎn)節(jié)點(diǎn)(步 驟II)或目標(biāo)節(jié)點(diǎn)(步驟III),則進(jìn)入步驟a,如果所述的某節(jié)點(diǎn)檢測(cè)出到下一個(gè)節(jié)點(diǎn)的鏈 路擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)是中轉(zhuǎn)節(jié)點(diǎn)(步驟II)或目標(biāo)節(jié)點(diǎn)(步驟III),則進(jìn)入步 驟b
步驟a:則將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由
算法重新計(jì)算(例如采用簡(jiǎn)短循環(huán)路徑算法或最短循環(huán)路徑方法計(jì)算)從新的源節(jié)點(diǎn)到每
個(gè)中轉(zhuǎn)節(jié)點(diǎn)的路由(步驟II)或目標(biāo)節(jié)點(diǎn)的路由(步驟in),轉(zhuǎn)入步驟c;
步驟b:則將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由 算法(例如采用簡(jiǎn)短移位路由算法或最短移位路由算法)重新計(jì)算從新的源節(jié)點(diǎn)到除有擁 塞或不可靠鏈路的中轉(zhuǎn)節(jié)點(diǎn)外的其它所有中轉(zhuǎn)節(jié)點(diǎn)的路由(步驟II)或目標(biāo)節(jié)點(diǎn)的路由(步
驟III);
步驟c:在步驟a或步驟b中所計(jì)算出的所有路徑中選取其中最短的一條作為水平面(步
驟II)或虛平面(步驟III)網(wǎng)絡(luò)傳輸?shù)穆酚?,?shù)據(jù)包通過(guò)該路由路徑傳遞到其對(duì)應(yīng)的中轉(zhuǎn)
節(jié)點(diǎn)(步驟ii)或目標(biāo)節(jié)點(diǎn)(步驟ni)。
所述的最短移位路徑算法和所述的簡(jiǎn)短移位路徑算法是基于最簡(jiǎn)移位路徑算法的,因此 在描述最短移位路徑算法和簡(jiǎn)短移位路徑算法之前,先描述最簡(jiǎn)移位路徑算法。
所述的最簡(jiǎn)移位路徑算法分為左最簡(jiǎn)移位路徑算法和右最簡(jiǎn)移位路徑算法。
左最簡(jiǎn)移位路徑算法的具體步驟如下
1、 將節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)用m位比特的二進(jìn)制數(shù)代替,設(shè)一個(gè)水平面網(wǎng)絡(luò)(或 虛平面)的節(jié)點(diǎn)數(shù)為N (N的取值是2的冪次方),則m-logN;命源節(jié)點(diǎn)的編號(hào)為新編號(hào), H=m-1, F=m;
2、 將新編號(hào)的低H位與目標(biāo)節(jié)點(diǎn)的編號(hào)的高H位進(jìn)行比較,如果不相同且H〉-2,則 將H-H-l,然后重復(fù)本步,否則命F-H+1,并進(jìn)入3;
.3、將新編號(hào)的二進(jìn)制數(shù)從低向高移動(dòng)一位,并將原來(lái)的最高位丟棄,移動(dòng)后的編號(hào)的 最低位由目標(biāo)節(jié)點(diǎn)的編號(hào)中的第F高位補(bǔ)充得到新編號(hào),記錄該次的編號(hào),F(xiàn)=F+1;
4、 重復(fù)3所述過(guò)程m-H-l次;
5、 將3和4步所記錄的所有編號(hào)按照記錄的前后順序構(gòu)成了從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的左 路徑。
右最簡(jiǎn)移位路徑算法具體步驟如下
6、 將水平編號(hào)或虛平面編號(hào)用m位比特的二進(jìn)制數(shù)代替,設(shè)一個(gè)水平面網(wǎng)絡(luò)或虛平面 的節(jié)點(diǎn)數(shù)為N (N的取值是2的冪次方),則m-logN;命源節(jié)點(diǎn)的編號(hào)為新編號(hào),H=m-1, F=H+h
7、 將源節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)的高H位與目標(biāo)節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)的 低H位進(jìn)行比較,如果不相同且^1>=2,則取H-H-l,然后重復(fù)本步,否則命F-H+1,進(jìn)入 8;8、 從源節(jié)點(diǎn)的水平面網(wǎng)絡(luò)的二進(jìn)制編號(hào)從高向低移動(dòng)一位,并將原來(lái)的最低位丟棄, 移動(dòng)后的編號(hào)的最高位由目標(biāo)節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)中的第F低位補(bǔ)充得到新編號(hào), 記錄該次的編號(hào),取F-F+1:
9、 重復(fù)8所述過(guò)程m-H-l次;
10、 將8和9所記錄的所有編號(hào)按照記錄的前后順序構(gòu)成從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的右路徑。 所述的簡(jiǎn)短移位路徑計(jì)算法如下
a、 根據(jù)所述的左最簡(jiǎn)移位路徑算法計(jì)算出左路徑和根據(jù)所述的右最簡(jiǎn)移位路徑算法算 出右路徑;
b、 選擇右路徑和左路徑中較短(節(jié)點(diǎn)數(shù)較少)的路徑為路由。
所述的最短移位路徑算法具體步驟如下
1) 、根據(jù)所述的最簡(jiǎn)移位路徑算法計(jì)分別算出源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)之間的左路徑和右路
徑,如果左路徑或右路徑的跳數(shù)小于或等于2,轉(zhuǎn)入5),否則,將n-2, k=l,進(jìn) 入2);
2) 、分別將n條路徑中的第k跳的終點(diǎn)作為新的源節(jié)點(diǎn),再采用最簡(jiǎn)移位路徑算法計(jì)
算出n條左路徑和n條右路徑,在每條路徑前面分別加上各自新的源節(jié)點(diǎn)到源節(jié) 點(diǎn)之間的路徑部分,即成為從源節(jié)點(diǎn)開(kāi)始到目標(biāo)節(jié)點(diǎn)的2n條路由路徑,如2n條 路徑中的某條路由的跳數(shù)為小于或等于k+2,則轉(zhuǎn)入5),否則轉(zhuǎn)入3);
3) 、判斷k是否小于m,如果k小于m,轉(zhuǎn)入4,否則轉(zhuǎn)入5);
4) 、將n-2n, k=k+l;轉(zhuǎn)入2);
5) 、選擇所有路由中(共2n條)跳數(shù)最少的路徑作為數(shù)據(jù)傳輸路由路徑。
其中m是地址的二進(jìn)制數(shù)的長(zhǎng)度(比特?cái)?shù))。
數(shù)據(jù)包在傳遞過(guò)程中配合路由算法,對(duì)包頭做如下調(diào)整當(dāng)數(shù)據(jù)包傳遞到某個(gè)節(jié)點(diǎn)后, 路由單元根據(jù)傳遞方向值15判斷數(shù)據(jù)包的傳遞方向,如果為傳遞方向值15為0,表示在水 平面上傳遞,此時(shí)路由單元根據(jù)水平面地址移位方向的序列17的最高位和填充序列18的最 高位選擇輸出端口,轉(zhuǎn)發(fā)數(shù)據(jù)包后將水平面地址移位方向的序列17的最高位和填充序列18 的最高位丟棄,并且水平面剩余跳數(shù)16的值減1;如果為傳遞方向的值15為1,表示在虛 平面上傳遞,路由單元根據(jù)虛平面地址移位方向的序列20的最高位和虛平面上填充序列21 的最高位的值選擇輸出端口,轉(zhuǎn)發(fā)數(shù)據(jù)包后將虛平面地址移位方向的序列20的最高位和虛 平面上填充序列21的最高位丟棄,并且將虛平面剩余跳數(shù)19的值減1。
實(shí)施例二
本實(shí)施例中虛平面的劃分方法是將網(wǎng)絡(luò)中所有節(jié)點(diǎn)劃分為兩個(gè)虛平面,每個(gè)虛平面上采用 環(huán)狀拓?fù)浣Y(jié)構(gòu)。因?yàn)橛袃蓚€(gè)虛平面,所以所有節(jié)點(diǎn)被連接成兩個(gè)環(huán),即形成雙環(huán),雙環(huán)的劃 分按照以下方法進(jìn)行
首先,將每層水平面網(wǎng)絡(luò)中的所有節(jié)點(diǎn)平均劃分為兩個(gè)哈密爾頓路,分別記為HA和HB, HA和HB兩路的起點(diǎn)和終點(diǎn)必須分別相鄰;設(shè)每層中的HA和HB路中的節(jié)點(diǎn)數(shù)各為N個(gè), 圖3示出了一種每個(gè)平面上含有16個(gè)節(jié)點(diǎn)的雙環(huán)劃分方式,節(jié)點(diǎn)O、 1、 4、 8、 9、 10、 12 和13屬于環(huán)1,其余節(jié)點(diǎn)屬于環(huán)2。
然后,將各層的HA連成一個(gè)環(huán),HB連成另一個(gè)環(huán),每個(gè)環(huán)就是一個(gè)虛平面。每個(gè)環(huán)的構(gòu)成方法如下所述
當(dāng)水平面網(wǎng)絡(luò)的層數(shù)為偶數(shù)時(shí),其連接方法為如圖4所示,從最上一層的HA起點(diǎn)5開(kāi) 始沿垂直方向?qū)⒚恳粚拥闹蠬A路的起點(diǎn)6相連,假設(shè)從最上至下從1開(kāi)始順序編號(hào),第一 層的HA路的終點(diǎn)7與第二層的HA的終點(diǎn)8連接,第二層的HA路的第二個(gè)節(jié)點(diǎn)9與第三 層的HA路的第二個(gè)節(jié)點(diǎn)10連接,第三層的HA路的終點(diǎn)與第四層的終點(diǎn)連接,以此類推 將各層的HA的節(jié)點(diǎn)連接起來(lái),直到倒數(shù)第二層的HA路起點(diǎn)與最下層HA路的起點(diǎn)連接;
當(dāng)水平面網(wǎng)絡(luò)的層數(shù)為奇數(shù)時(shí)其連接方法為如圖5所示,與層數(shù)為偶數(shù)時(shí)所不同的是 第一層的HA路的終點(diǎn)7與第二層的HA路的第二個(gè)起點(diǎn)9連接,從第二層開(kāi)始,完全按照 層數(shù)為偶數(shù)時(shí)連接方法連接。
用HB連成的環(huán)的方法與上述HA連成環(huán)的方法一樣。
網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)
網(wǎng)絡(luò)節(jié)點(diǎn)是由處理單元和路由單元組成,且處理單元與路由單元直接相連的,有的節(jié)點(diǎn) 是只與同一個(gè)水平面網(wǎng)絡(luò)的節(jié)點(diǎn)相連接,有的節(jié)點(diǎn)是既與同水平面網(wǎng)絡(luò)的節(jié)點(diǎn)相連也與非同 一水平面網(wǎng)絡(luò)的節(jié)點(diǎn)相連。
數(shù)據(jù)包的傳遞方法
數(shù)據(jù)包的傳遞過(guò)程為首先從源節(jié)點(diǎn)開(kāi)始在水平面網(wǎng)絡(luò)上傳遞到目標(biāo)節(jié)點(diǎn)所在的環(huán)上, 然后在目標(biāo)環(huán)上按照預(yù)定的方向傳遞到目標(biāo)節(jié)點(diǎn),具體步驟如下
步驟A:源節(jié)點(diǎn)判斷目標(biāo)節(jié)點(diǎn)是否與其在同一個(gè)環(huán)上,如果在同一個(gè)環(huán)上,就直接進(jìn)入 步驟B,否則,根據(jù)路由算法(例如釆用實(shí)施例一中所述的簡(jiǎn)短移位路徑算法 或最短移位路徑算法)計(jì)算出的路由,先將數(shù)據(jù)包在源節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò) 上傳遞到目標(biāo)節(jié)點(diǎn)所在環(huán)上的,所述的中轉(zhuǎn)節(jié)點(diǎn)可以是即在目標(biāo)環(huán)上又在源平 面上的任意節(jié)點(diǎn),但在實(shí)現(xiàn)時(shí)是確定),并將所述中轉(zhuǎn)節(jié)點(diǎn)作為新的源節(jié)點(diǎn), 再進(jìn)入步驟B;
步驟B:在源節(jié)點(diǎn)或步驟A中所述新的源節(jié)點(diǎn)所在的環(huán)上按照結(jié)構(gòu)允許的方向?qū)?shù)據(jù) 包傳遞到目的路由單元,在傳遞過(guò)程中,每個(gè)節(jié)點(diǎn)的路由單元將包頭所帶的目 標(biāo)節(jié)點(diǎn)地址編號(hào)和本節(jié)點(diǎn)地址編號(hào)進(jìn)行比較,如果相同則將數(shù)據(jù)包傳遞給本路 由單元對(duì)應(yīng)的處理單元,否則就繼續(xù)向下一個(gè)節(jié)點(diǎn)傳遞。
在步驟A的數(shù)據(jù)包在路由中的各節(jié)點(diǎn)傳遞過(guò)程中和步驟B的環(huán)路傳遞過(guò)程,要排除不 可靠或擁塞鏈路
在步驟A中數(shù)據(jù)包在路由中的各節(jié)點(diǎn)傳遞過(guò)程中排除不可靠鏈路的方法如下每個(gè)節(jié) 點(diǎn)都要檢測(cè)到下一個(gè)節(jié)點(diǎn)的鏈路是否擁塞或不可靠,如果某節(jié)點(diǎn)檢測(cè)出到下一個(gè)節(jié)點(diǎn)的鏈路 擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)不是中轉(zhuǎn)節(jié)點(diǎn),則進(jìn)入步驟e,如果所述的某節(jié)點(diǎn)檢測(cè)出到 下一個(gè)節(jié)點(diǎn)的鏈路擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)是中轉(zhuǎn)節(jié)點(diǎn),則進(jìn)入步驟f
步驟e:則將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由
算法(例如采用簡(jiǎn)短移位路由算法或最短移位路由算法)重新計(jì)算從新的源節(jié)點(diǎn)到每個(gè)中
轉(zhuǎn)節(jié)點(diǎn)的路由,轉(zhuǎn)入步驟g;
步驟f:則將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由 算法(例如采用簡(jiǎn)短移位路由算法或最短移位路由算法)重新計(jì)算從新的源節(jié)點(diǎn)到除有擁塞或不可靠鏈路的中轉(zhuǎn)節(jié)點(diǎn)外的其它所有中轉(zhuǎn)節(jié)點(diǎn)的路由;
步驟g:在步驟a或步驟b中所計(jì)算出的所有路徑中選取其中最短的一條作為水平面網(wǎng) 絡(luò)傳輸?shù)男侣酚桑瑪?shù)據(jù)包通過(guò)該新路由路徑傳遞到其對(duì)應(yīng)的中轉(zhuǎn)節(jié)點(diǎn);
在步驟A中數(shù)據(jù)包在路由中的各節(jié)點(diǎn)傳遞過(guò)程中排除不可靠鏈路的方法如下除目標(biāo) 節(jié)點(diǎn)外的每個(gè)接收到數(shù)據(jù)包的節(jié)點(diǎn)要檢測(cè)到該節(jié)點(diǎn)到下一節(jié)點(diǎn)的鏈路是否擁塞了 ,如果沒(méi)有 擁塞,就將數(shù)據(jù)包送給下一節(jié)點(diǎn),如果擁塞,則按下面步驟進(jìn)行
步驟一、判斷擁塞的鏈路是否屬于水平面網(wǎng)絡(luò),如果屬于水平面網(wǎng)絡(luò),則進(jìn)入步驟二, 如果不屬于水平面網(wǎng)絡(luò),則進(jìn)入步驟三;
步驟二、將所述的該節(jié)點(diǎn)變成新的源節(jié)點(diǎn),判斷新的源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)否在同一水平 面網(wǎng)絡(luò)上,若在同一水平面網(wǎng)絡(luò),就按照容錯(cuò)要求釆用某種路由算法(例如本實(shí)施例中所 述的簡(jiǎn)短移位路徑算法或最短移位路徑算法)重新計(jì)算新的源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由,同時(shí) 重新設(shè)置路徑之后數(shù)據(jù)包頭里的路徑信息,并按新的路由路徑傳輸;若不在同一水平面網(wǎng)絡(luò) 就先按照容錯(cuò)要求采用某種路由算法(例如本實(shí)施例中所述的簡(jiǎn)短移位路徑算法或最短移 位路徑算法)重新計(jì)算新的源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)所在環(huán)上在本平面的終點(diǎn)的路由路徑,數(shù)據(jù)包 傳輸?shù)皆摻K點(diǎn)后,再?gòu)脑摻K點(diǎn)開(kāi)始繼續(xù)在環(huán)上的傳遞直到目標(biāo)節(jié)點(diǎn),完畢。
步驟三、先將數(shù)據(jù)包通過(guò)本水平面網(wǎng)絡(luò)傳遞到另一個(gè)環(huán)中具有與其它水平面網(wǎng)絡(luò)相連接 的節(jié)點(diǎn)上,同時(shí)重新設(shè)置路徑之后數(shù)據(jù)包頭里的路徑信息,然后數(shù)據(jù)包再通過(guò)虛平面?zhèn)鬟f到 下一層水平面網(wǎng)絡(luò),再通過(guò)下一個(gè)平面?zhèn)骰氐皆酚稍谠搶拥木哂信c其它水平面網(wǎng)絡(luò)相連接 的節(jié)點(diǎn),繼續(xù)按照原路由傳遞。
數(shù)據(jù)包在傳遞過(guò)程中配合路由算法,對(duì)包頭做如下調(diào)整當(dāng)數(shù)據(jù)包傳遞到某個(gè)節(jié)點(diǎn)后, 路由單元根據(jù)傳遞方向值26判斷數(shù)據(jù)包的傳遞方向,如果為傳遞方向值26為0,表示在水 平面上傳遞,此時(shí)路由單元根據(jù)水平面地址移位方向的序列28的最高位和填充序列29的最 高位選擇輸出端口,轉(zhuǎn)發(fā)數(shù)據(jù)包后將水平面地址移位方向的序列28的最高位和填充序列29 的最高位丟棄,并且水平面剩余跳數(shù)27的值減1;如果為傳遞方向值26為1,表示在環(huán)上 傳遞,在環(huán)上傳遞時(shí)包頭不會(huì)發(fā)生變化,但包頭的虛平面編號(hào)在傳遞過(guò)程中將被用于與各節(jié) 點(diǎn)編號(hào)進(jìn)行比較,以確定是否到達(dá)目的地。
1權(quán)利要求
1、三維片上網(wǎng)絡(luò)架構(gòu)方法,包括網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)節(jié)點(diǎn)的組成和數(shù)據(jù)傳遞過(guò)程,其特點(diǎn)在于首先用水平面網(wǎng)絡(luò)結(jié)構(gòu)和靈活的虛平面網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成三維NoC,且水平面網(wǎng)絡(luò)是沿X和Y方向伸展的平面,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用De Bruijn圖,每個(gè)水平面網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)書(shū)相等的,而虛平面網(wǎng)絡(luò)是沿X、Y和Z三個(gè)方向伸展的曲面,其網(wǎng)絡(luò)由每層水平面網(wǎng)絡(luò)上的某些節(jié)點(diǎn)連接而成,網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)為每個(gè)節(jié)點(diǎn)由路由單元和處理單元組成,且路由單元與處理單元之間有數(shù)據(jù)線連接,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的地址是用其所在的水平面網(wǎng)絡(luò)上的編號(hào)和所在虛平面上的編號(hào)組成的二維地址,所述節(jié)點(diǎn)地址中的水平編號(hào)是完全按照DeBruijn圖的地址編號(hào)要求進(jìn)行的,而在虛平面上的編號(hào)是根據(jù)虛平面的構(gòu)成方法決定的;其數(shù)據(jù)包傳遞過(guò)程為數(shù)據(jù)包先在水平面網(wǎng)絡(luò)上傳遞,然后再在虛平面網(wǎng)絡(luò)上傳遞,即數(shù)據(jù)包從源節(jié)點(diǎn)開(kāi)始先在水平面網(wǎng)絡(luò)上傳遞到中轉(zhuǎn)節(jié)點(diǎn),所述的中轉(zhuǎn)節(jié)點(diǎn)是既在源節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò)上又在目標(biāo)節(jié)點(diǎn)所在的虛平面上的節(jié)點(diǎn),再?gòu)闹修D(zhuǎn)節(jié)點(diǎn)開(kāi)始在虛平面網(wǎng)絡(luò)上傳遞到目標(biāo)節(jié)點(diǎn),其在水平面網(wǎng)絡(luò)傳遞或虛平面?zhèn)鬟f的路由是由某種路由算法計(jì)算得到的;數(shù)據(jù)包在路由節(jié)點(diǎn)間的傳遞中要排除擁塞或不可靠路鏈路并重新計(jì)算路由,即由源節(jié)點(diǎn)計(jì)算數(shù)據(jù)包從源節(jié)點(diǎn)傳遞到目標(biāo)節(jié)點(diǎn)的路由路徑,在傳遞過(guò)程中每個(gè)節(jié)點(diǎn)都要檢測(cè)它到當(dāng)前路由中的下一個(gè)節(jié)點(diǎn)的鏈路是否是擁塞或不可靠,如果檢查出到下一個(gè)節(jié)點(diǎn)的鏈路擁塞或不可靠,則當(dāng)前的檢測(cè)節(jié)點(diǎn)將根據(jù)容錯(cuò)要求以某種路由算法重新計(jì)算出一條從當(dāng)前的檢測(cè)節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路徑。
2、 點(diǎn)據(jù)權(quán)利要求1所述的三維片上網(wǎng)絡(luò)架構(gòu)方法,其特征在于,所述的虛平面也是De Bruijn圖結(jié)構(gòu),且每個(gè)虛平面網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)也是相等的,劃分虛平面之后,虛平面中節(jié)點(diǎn)之間的連接應(yīng)盡量能夠利用水平面網(wǎng)絡(luò)上已有的連接,每個(gè)節(jié)點(diǎn)既與同水平面網(wǎng)絡(luò)的節(jié)點(diǎn)相連也與其它水平面網(wǎng)絡(luò)上的節(jié)點(diǎn)連接,組成節(jié)點(diǎn)地址中的虛平面編號(hào)都也是按照De Bruijn圖構(gòu)造方法編排的;數(shù)據(jù)包的傳遞方法為-步驟I:源節(jié)點(diǎn)判斷源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)是否在同一虛平面,如果在同一虛平面,則進(jìn)入步驟III,否則先進(jìn)入步驟II;步驟II:以既在目標(biāo)節(jié)點(diǎn)所在的虛平面上又在源節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò)上的所有節(jié)點(diǎn)分別作為中轉(zhuǎn)節(jié)點(diǎn),由某種路由算法分別計(jì)算出源地址到每個(gè)中轉(zhuǎn)節(jié)點(diǎn)的路由,然后再在計(jì)算出的所有路由中選取最短的一條作為水平面網(wǎng)絡(luò)傳輸?shù)穆酚陕窂?,?shù)據(jù)包通過(guò)該路由路徑傳遞到其對(duì)應(yīng)的中轉(zhuǎn)節(jié)點(diǎn)上,然后將該中轉(zhuǎn)節(jié)點(diǎn)轉(zhuǎn)換成新的源節(jié)點(diǎn);步驟III:由路由算法計(jì)算出從源節(jié)點(diǎn)或步驟II中的新的源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由路徑,數(shù)據(jù)包再通過(guò)該路由從源節(jié)點(diǎn)或新的源節(jié)點(diǎn)傳遞到目標(biāo)節(jié)點(diǎn)。
3、 根據(jù)權(quán)利要求2所述的三維片上網(wǎng)絡(luò)架輪方法,其特征在于在第n步和/或第m步中,數(shù)據(jù)包在路由中的各節(jié)點(diǎn)傳遞過(guò)程中,要排除不可靠鏈路,其方法如下每個(gè)接收到數(shù)據(jù)包的節(jié)點(diǎn)都要檢測(cè)本節(jié)點(diǎn)到下一個(gè)節(jié)點(diǎn)的鏈路是否擁塞或不可靠,如果某節(jié)點(diǎn)檢測(cè)到下一個(gè)節(jié)點(diǎn)出現(xiàn)了鏈路擁塞或不可靠,且下一個(gè)節(jié)點(diǎn)不是中轉(zhuǎn)節(jié)點(diǎn),則進(jìn)入步驟a,如果所述的某節(jié)點(diǎn)檢測(cè)出到下一個(gè)節(jié)點(diǎn)的鏈路擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)是中轉(zhuǎn)節(jié)點(diǎn),則進(jìn)入步驟b;步驟a:將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求重新計(jì)算從新的源節(jié)點(diǎn)到每個(gè)中轉(zhuǎn)節(jié)點(diǎn)的路由或目標(biāo)節(jié)點(diǎn)的路由,轉(zhuǎn)入步驟c;步驟b:將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由算法重新計(jì)算從新的源節(jié)點(diǎn)到除有擁塞或不可靠鏈路的中轉(zhuǎn)節(jié)點(diǎn)外的其它所有中轉(zhuǎn)節(jié)點(diǎn)的路 由或目標(biāo)節(jié)點(diǎn)的路由,進(jìn)入步驟C;步驟c:在步驟a或步驟b中所計(jì)算出的所有路徑中,選取其中最短的一條作為水平面網(wǎng)絡(luò)傳輸?shù)穆酚?,或選取除只有一跳的路徑之外的最短的一條作為虛平面網(wǎng)絡(luò)傳輸?shù)穆酚桑瑪?shù)據(jù) 包通過(guò)該路由路徑傳遞到其對(duì)應(yīng)的中轉(zhuǎn)節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn),完畢。
4、根據(jù)權(quán)利要求1所述的三維片上網(wǎng)絡(luò)架構(gòu)方法,其特征在于將網(wǎng)絡(luò)中所有節(jié)點(diǎn)劃分為 兩個(gè)虛平面,每個(gè)虛平面上采用環(huán)狀拓?fù)浣Y(jié)構(gòu),即形成雙環(huán);雙環(huán)的劃分按照以下方法進(jìn)行首先,將每層水平面網(wǎng)絡(luò)中的所有節(jié)點(diǎn)平均劃分為兩個(gè)哈密爾頓路,分別記為HA和HB, HA和HB兩路的起點(diǎn)和終點(diǎn)必須分別相鄰;設(shè)每層中的HA和HB路中的節(jié)點(diǎn)數(shù)各為N個(gè),然后,將各層的HA連成一個(gè)環(huán),HB連成另一個(gè)環(huán),每個(gè)環(huán)就是一個(gè)虛平面,每個(gè)環(huán)的構(gòu) 成方法如下所述當(dāng)水平面網(wǎng)絡(luò)的層數(shù)為偶數(shù)時(shí),從最上一層的HA或HB起點(diǎn)開(kāi)始沿垂直方向?qū)⒚恳粚?的中HA或HB路的起點(diǎn)相連,假設(shè)從上至下從開(kāi)始順序編號(hào),第一層的HA或HB路的終 點(diǎn)與第二層的HA或HB的終點(diǎn)連接,第二層的HA路或HB的第二個(gè)節(jié)點(diǎn)與第三層的HA 或HB路的第二個(gè)節(jié)點(diǎn)連接,第三層的HA或HB路的終點(diǎn)與第四層的終點(diǎn)連接,以此類推 將各層的HA的節(jié)點(diǎn)連接起來(lái),直到倒數(shù)第二層的HA或HB路起點(diǎn)與最下層HA或HB路 的起點(diǎn)連接;當(dāng)水平面網(wǎng)絡(luò)的層數(shù)為奇數(shù)時(shí),與層數(shù)為偶數(shù)時(shí)所不同的是第一層的HA或 HB路的終點(diǎn)與第二層的HA或HB路的第二個(gè)起點(diǎn)連接,從第二層開(kāi)始,完全按照層數(shù)為 偶數(shù)時(shí)連接方法連接;數(shù)據(jù)包的傳遞過(guò)程為首先從源節(jié)點(diǎn)'開(kāi)始在水平面網(wǎng)絡(luò)上傳遞到目標(biāo)節(jié)點(diǎn)所在的環(huán)上, 然后在目標(biāo)環(huán)上按照預(yù)定的方向傳遞到目標(biāo)節(jié)點(diǎn),具體步驟如下步驟A:源節(jié)點(diǎn)判斷目標(biāo)節(jié)點(diǎn)是否與其在同一個(gè)環(huán)上,如果在同一個(gè)環(huán)上,就直接進(jìn)入-步驟B,否則,根據(jù)路由算法計(jì)算出的路由,先將數(shù)據(jù)包在源節(jié)點(diǎn)所在的水平面網(wǎng)絡(luò)上傳遞到目標(biāo)節(jié)點(diǎn)所在環(huán)上的,所述的中轉(zhuǎn)節(jié)點(diǎn)可以是即在目標(biāo)環(huán)上又 在源平面上的任意節(jié)點(diǎn),但在實(shí)現(xiàn)時(shí)是確定,并將所述中轉(zhuǎn)節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再進(jìn)入步驟B;步驟B:在源節(jié)點(diǎn)或步驟A中所述新的源節(jié)點(diǎn)所在的環(huán)上按照結(jié)構(gòu)允許的方向?qū)?shù)據(jù)包傳遞到目的路由單元,在傳遞過(guò)程中,每個(gè)節(jié)點(diǎn)的路由單元將包頭所帶的目 標(biāo)節(jié)點(diǎn)地址編號(hào)和本節(jié)點(diǎn)地址編號(hào)進(jìn)行比較,如果相同則將數(shù)據(jù)包傳遞給本路 由單元對(duì)應(yīng)的處理單元,否則就繼續(xù)向下一個(gè)節(jié)點(diǎn)傳遞。
5、根據(jù)權(quán)利要求4所述的三維片上網(wǎng)絡(luò)架構(gòu)方法,其特征在于在步驟A和/或步驟B的 數(shù)據(jù)包在路由上傳遞過(guò)程中,各節(jié)點(diǎn)要排餘不可靠或擁塞鏈路,在步驟A中排除不可靠或擁塞鏈路方法如下-每個(gè)節(jié)點(diǎn)都要檢測(cè)到下一個(gè)節(jié)點(diǎn)的鏈路是否擁塞或不可靠,如果某節(jié)點(diǎn)檢測(cè)出到下一個(gè)節(jié)點(diǎn)的鏈路擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)不是中轉(zhuǎn)節(jié)點(diǎn),則進(jìn)入步驟e,如果所述的某節(jié) 點(diǎn)檢測(cè)出到下一個(gè)節(jié)點(diǎn)的鏈路擁塞了或不可靠,且下一個(gè)節(jié)點(diǎn)是中轉(zhuǎn)節(jié)點(diǎn),則進(jìn)入步驟f;步驟e:將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由算 法重新計(jì)算從新的源節(jié)點(diǎn)到每個(gè)中轉(zhuǎn)節(jié)點(diǎn)的路由,轉(zhuǎn)入步驟g;步驟f:則將所述的某節(jié)點(diǎn)作為新的源節(jié)點(diǎn),再由新的源節(jié)點(diǎn)按照容錯(cuò)要求用某種路由算法(例如采用簡(jiǎn)短移位路由算法歳最'短移位路由算法)重新計(jì)算從新的源節(jié)點(diǎn)到除有擁塞或不可靠鏈路的中轉(zhuǎn)節(jié)點(diǎn)外的其它所有中轉(zhuǎn)節(jié)點(diǎn)的路由;步驟g:在步驟a或步驟b中所計(jì)算出的所有路徑中選取其中最短的一條作為水平面網(wǎng)絡(luò)傳輸?shù)穆酚?,?shù)據(jù)包通過(guò)該路由路徑傳遞到其對(duì)應(yīng)的中轉(zhuǎn)節(jié)點(diǎn);在步驟B中排除不可靠鏈路的方法如下除目標(biāo)節(jié)點(diǎn)外的每個(gè)接收到數(shù)據(jù)包的節(jié)點(diǎn)要檢測(cè)到該節(jié)點(diǎn)到下一節(jié)點(diǎn)的鏈路是否擁塞了,如果沒(méi)有擁塞,就將數(shù)據(jù)包送給下一節(jié)點(diǎn),如果擁塞,則按下面步驟進(jìn)行-步驟一、判斷擁塞的鏈路是否屬于水平面網(wǎng)絡(luò),如果屬于水平面網(wǎng)絡(luò),則進(jìn)入步驟二,如果不屬于水平面網(wǎng)絡(luò),則進(jìn)入步驟三;步驟二、將所述的該節(jié)點(diǎn)變成新的源節(jié)點(diǎn),判斷新的源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)否在同一水平面網(wǎng)絡(luò)上,若在同一水平面網(wǎng)絡(luò),就按照容錯(cuò)要求采用某種路由算法重新計(jì)算新的源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)在水平面網(wǎng)絡(luò)上的路由,同時(shí)重新設(shè)置路徑之后數(shù)據(jù)包頭里的路徑信息,并按新的路由路徑傳輸;若不在同一水平面網(wǎng)絡(luò),就先按照容錯(cuò)要求采用某種路由算法重新計(jì)算新的源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)所在環(huán)上在本平面的二類節(jié)點(diǎn)的路由路徑,數(shù)據(jù)包傳輸?shù)皆摱惞?jié)點(diǎn)后,再?gòu)脑摱惞?jié)點(diǎn)開(kāi)始繼續(xù)在環(huán)上的傳遞直到目標(biāo)節(jié)點(diǎn),完畢;步驟三、先將數(shù)據(jù)包通過(guò)本水平面網(wǎng)絡(luò)傳遞到另一個(gè)環(huán)中與所述該節(jié)點(diǎn)直接相連的二類節(jié)點(diǎn)上,同時(shí)重新設(shè)置路徑之后數(shù)據(jù)包頭里的路徑信息,然后數(shù)據(jù)包通過(guò)虛平面?zhèn)鬟f到下一層水平面網(wǎng)絡(luò),再通過(guò)下一個(gè)平面?zhèn)骰氐皆酚稍谠搶拥亩惞?jié)點(diǎn),繼續(xù)按照原路由傳遞。
6、根據(jù)權(quán)利要求l、 2、 3、 4或5所述的三維片上網(wǎng)絡(luò)架構(gòu)方法,其特征在于所述的某種路由算法可以是簡(jiǎn)短移位路由算法;簡(jiǎn)短移位路由算法過(guò)程為先分別利用左最簡(jiǎn)循環(huán)路徑算法和右最簡(jiǎn)循環(huán)路徑算法計(jì)算出左路徑和右路徑,然后在左路徑和右路徑選擇最短的路徑就是最終計(jì)算所得到的路徑;所述的左最簡(jiǎn)移位路徑算法為(1) 、將源節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)用m位比特的二進(jìn)制數(shù)代替,設(shè)一個(gè)水平面網(wǎng)絡(luò)或虛平面的節(jié)點(diǎn)數(shù)為N,則m-logN, H=m-1, F=m;(2) 、將源節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)的低H位與目標(biāo)節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)的高H位進(jìn)行比較,如果不相同且H^2y則將H-H-l,然后重復(fù)本步,否則命源節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)為新編號(hào),取F-H+1,并進(jìn)入(3);(3) 、將新編號(hào)從低向高移動(dòng)一位,并將原來(lái)的最高位丟棄,移動(dòng)后的編號(hào)的最低位由目標(biāo)節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)中的第F高位補(bǔ)充得到新編號(hào),記錄該次的編號(hào),取F=F+1:(4) 、重復(fù)(3)所述過(guò)程m-H-l次;(5) 、將(3)和(4)步所記錄的所有編號(hào)按照記錄的前后順序構(gòu)成了從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的左路徑所述的右最簡(jiǎn)移位路徑算法具體步驟如下.;(6)、將水平編號(hào)或虛平面編號(hào)用m位比特的二進(jìn)制數(shù)代替,設(shè)一個(gè)水平面網(wǎng)絡(luò)或虛平面的節(jié)點(diǎn)數(shù)為N,則m-logN,取H-m-l, F=H+1;(7)、將源節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)的高H位與目標(biāo)節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)的低H位進(jìn)行比較,如果不相同且11>=2,則取H-H-l,然后重復(fù)本步,否則,命源節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)為新編號(hào),取F-H+1,進(jìn)入(8);;.(8)、將新編號(hào)從高向低移動(dòng)一位,并將原來(lái)的最低位丟棄,移動(dòng)后的編號(hào)的最高位由目垛節(jié)點(diǎn)的水平編號(hào)或虛平面編號(hào)中的第F低位補(bǔ)充得到新編號(hào),記錄該次的編號(hào),取F=F+1;(9) 、重復(fù)(8)所述過(guò)程m-H-l次; '(10) 、將(8)和(9)所記錄的所有編號(hào)按照記錄的前后順序構(gòu)成從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的右路徑。
7、根據(jù)權(quán)利要求l、 2、 3、 4和/或5所述的三維片上網(wǎng)絡(luò)架構(gòu)方法,其特征在于所述的某種路由算法可以是最短移位路由算法,最短移位路由算法過(guò)程為1) 、采用權(quán)利要求5中所述的左最簡(jiǎn)循環(huán)路徑算法和右最簡(jiǎn)循環(huán)路徑算法分別算出源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)之間左路徑和右路徑,如果左路徑或右路徑的跳數(shù)小于等于2,轉(zhuǎn)入5),否貝!j,將n-2, k=l,進(jìn)入2);2) 、分別將n條路徑中的第k跳的終點(diǎn)為新的源節(jié)點(diǎn),再采用最簡(jiǎn)移位法計(jì)算出n條左路徑和n條右路徑,在每條路徑前面分別加上各自新的源節(jié)點(diǎn)到源節(jié)點(diǎn)之間的路徑部分,即成為從源節(jié)點(diǎn)開(kāi)始到目標(biāo)節(jié)點(diǎn)的2n條路由,如2n條路徑中的某條路由的跳數(shù)為小于等于k+2,則轉(zhuǎn)入5),否則轉(zhuǎn)入3);3) 、判斷k是否小于m,如果k小于.m,轉(zhuǎn)入4,否則轉(zhuǎn)入5);4) 、將n-2n, k=k+l;轉(zhuǎn)入2);'5) 、選擇所有路由中最短的路徑作為數(shù)據(jù)傳輸路由;其中m是地址的二進(jìn)制數(shù)的長(zhǎng)度。
全文摘要
本發(fā)明提出了一種三維片上網(wǎng)絡(luò)架構(gòu)方法,用水平面網(wǎng)絡(luò)結(jié)構(gòu)和靈活的虛平面網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成三維NoC網(wǎng)絡(luò),且水平面網(wǎng)絡(luò)是沿X和Y方向伸展的平面,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用DeBruijn圖,而虛平面網(wǎng)絡(luò)是沿X、Y和Z三個(gè)方向伸展的曲面,其網(wǎng)絡(luò)可以按照以解決某種問(wèn)題(比如降低布線的復(fù)雜度或提高容錯(cuò)特性)的需要由每一層水平面網(wǎng)絡(luò)上的某些節(jié)點(diǎn)連接而成,也就是說(shuō)這些節(jié)點(diǎn)不一定在一個(gè)垂直平面上。本發(fā)明還提出了兩種虛平面構(gòu)造方法,一種是De Bruijn圖結(jié)構(gòu),另一種是雙環(huán)結(jié)構(gòu),第一種方法充分利用了De Bruijn圖允許設(shè)計(jì)更短的路由的算法,使數(shù)據(jù)傳輸?shù)钠骄鴶?shù)少,網(wǎng)絡(luò)延時(shí)小,且具有較好的容錯(cuò)特性,第二種方法利用環(huán)狀結(jié)構(gòu)布線的復(fù)雜度低和數(shù)據(jù)傳輸速率高的特點(diǎn)再結(jié)合水平面網(wǎng)絡(luò)部分利用De Bruijn圖網(wǎng)絡(luò)直徑小的優(yōu)勢(shì),提高了輸效率。
文檔編號(hào)H04L12/58GK101483614SQ20081004631
公開(kāi)日2009年7月15日 申請(qǐng)日期2008年10月20日 優(yōu)先權(quán)日2008年10月20日
發(fā)明者翔 凌, 符初生, 胡劍浩, 陳亦歐 申請(qǐng)人:電子科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
镇原县| 富宁县| 绵阳市| 涟源市| 榆中县| 常熟市| 广州市| 翁源县| 乌鲁木齐县| 承德市| 遂平县| 鄂伦春自治旗| 张家川| 峨眉山市| 且末县| 沙洋县| 拉萨市| 禄丰县| 秭归县| 民乐县| 康平县| 高邮市| 米易县| 纳雍县| 林西县| 长寿区| 寿宁县| 右玉县| 昌宁县| 福安市| 鹤山市| 丰原市| 安新县| 凯里市| 磐安县| 屯昌县| 合江县| 建湖县| 永和县| 儋州市| 玛沁县|