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

一種基于Mesh拓撲結構的片上網(wǎng)絡通信方法與流程

文檔序號:12477888閱讀:1840來源:國知局
一種基于Mesh拓撲結構的片上網(wǎng)絡通信方法與流程

本發(fā)明屬于集成電路設計技術領域,具體為一種基于Mesh拓撲結構的片上網(wǎng)絡通信方法(策略)。



背景技術:

自從片上網(wǎng)絡(NoC)的概念被提出以來,人們對網(wǎng)絡結構的研究持續(xù)推進,已經(jīng)有各種各樣的網(wǎng)絡結構被紛紛提出,總體來說,片上網(wǎng)絡的拓撲結構主要分為三類,分別是樹狀、星狀和網(wǎng)格狀。

樹狀網(wǎng)絡基本結構如圖1(a)所示,圖中顯示的網(wǎng)絡包含16個計算節(jié)點和8個路由器,其中路由器分為父層和子層兩部分,而計算節(jié)點作為葉節(jié)點連接在子層路由器上,這種結構最大的優(yōu)點是硬件實現(xiàn)起來最為簡單,成本很低,但是缺點也十分明顯,對于父層和子層的路由器來說,其路由算法是不同的,不利于網(wǎng)絡的可擴展性和可重用性,增加了設計的難度。

星狀網(wǎng)絡基本結構如圖1(b)所示,這種結構的每個路由器都對應一個計算節(jié)點,其相鄰兩個節(jié)點的數(shù)據(jù)通信只需要一跳即可傳輸完成,而且位于中心的節(jié)點非常便于進行數(shù)據(jù)的廣播,所以具有最好的通信效率,但這種結構只適用于節(jié)點個數(shù)較少的情況,當節(jié)點個數(shù)大于9個時,星狀網(wǎng)絡的面積利用率將非常低下,不利于硬件實現(xiàn)。

二維網(wǎng)格(Mesh)網(wǎng)絡的基本結構如圖1(c)所示,是目前主流的片上網(wǎng)絡架構。它的每個路由器對應一個計算節(jié)點,而每個路由器與其東西南北四個方向上的路由器相連,構成個網(wǎng)格狀結構,每兩個路由器之間的通信鏈路可以有多條,實際通信中可以通過高效的路由算法找到當前最為空閑的數(shù)據(jù)通路進行通信,從而提高了通信效率,同時這種結構的可擴展性高,可以方便地構造M×N個節(jié)點的網(wǎng)絡,而且網(wǎng)絡形狀非常規(guī)則,有利于硬件版圖的實現(xiàn)。本發(fā)明即是在二維網(wǎng)格的基礎上,采用包交換的通信方式,實現(xiàn)二位片上網(wǎng)絡的通信策略。



技術實現(xiàn)要素:

本發(fā)明的目的是針對并行GPDT算法而設計一種基于Mesh結構的片上網(wǎng)絡通信方法(策略)。

并行GPDT算法中,需要傳輸?shù)臄?shù)據(jù)是一個矩陣的若干片段,可以稱之為數(shù)據(jù)塊。這些數(shù)據(jù)塊需要按某種順序進行拼接或者進行累加才組成總的矩陣。片上網(wǎng)絡結構中將處理器分為主核和子核兩種類型,其中,主核負責計算本核分配到的那部分數(shù)據(jù),還負責接收其他子核的計算結果,并對結果進行拼接或累加從而得到總矩陣。總矩陣首先需要通過“廣播”的方式同步到其他子核當中,再進行接下來的運算。

本發(fā)明提出的基于Mesh拓撲結構的片上網(wǎng)絡通信方法,包括:由主核向各個子核通信的廣播方法,由各個子核向主核通信的點對點方法;片上網(wǎng)絡通信采用包交換的數(shù)據(jù)傳輸方式;其中:

一、由主核向各個子核通信的廣播方法,對于一個N×N的2D Mesh網(wǎng)絡,以中心的一個核稱為主核,以其周圍的核稱為子核,該主核按照一定的路由算法分別向各個子核由近及遠傳播數(shù)據(jù);該路由算法為:①以主核為原點,其數(shù)據(jù)向其左上方和右下方傳播時,先沿x方向再沿y方向,最終到達目標核(子核);②以主核為原點,向其右上方和左下方傳播時,先沿y方向再沿x方向,最終到達目標核(子核);

二、由各個子核向主核通信的點對點方法,對于一個N×N的2D Mesh網(wǎng)絡,以中心的一個核稱為主核,以其周圍的核稱為子核,由各個子核按照一定的路由算法分別向與其相鄰的子核傳播數(shù)據(jù)并最終匯總到主核;該路由算法為:①以主核為原點,其左上方和右下方的子核數(shù)據(jù)向主核傳播時,先沿x方向再沿y方向,最終到達目標核(主核);②以主核為原點,其右上方和左下方的子核數(shù)據(jù)向主核傳播時,先沿y方向再沿x方向,最終到達目標核(主核);

三、包交換的數(shù)據(jù)傳輸方式,待傳輸?shù)臄?shù)據(jù)是一系列32bit的數(shù)據(jù)組成的數(shù)據(jù)包,數(shù)據(jù)包的結構設計為:head表示包頭,recv[i]表示發(fā)送的數(shù)據(jù)中每個數(shù)據(jù)塊的長度,disp[i]表示每個數(shù)據(jù)塊在原矩陣中的起始位置,data[i]表示數(shù)據(jù)塊的內(nèi)容。

包頭位于數(shù)據(jù)包的起始位置,包頭指定數(shù)據(jù)包的各種基本信息。分為若干不同的區(qū)段,包括length、numSlice、destY、destX、multicast、reserved;其中,length表示數(shù)據(jù)包的長度(不包含包頭),numSlice表示數(shù)據(jù)塊的個數(shù),destX和destY分別是目標節(jié)點的橫坐標和縱坐標(以主核為原點),multcast表示是否廣播,值為1表示廣播,值為0表示點對點傳輸,reserved是保留位。

例如,31位~18位是length位,17位~12位是numSlice位,11位~9位和8位~6位分別是destY和destX位;5位是multicast位,4位~0位是保留位,尚未使用。

廣播過程是實現(xiàn)并行GPDT算法中通信開銷最大的通信任務,為了減少廣播通信延時,本發(fā)明將主核放置在Mesh網(wǎng)絡的中心位置,使其到達其他子核的平均距離最短;同時本發(fā)明還設計了相對平衡的廣播通信機制,如圖2(a)所示,以25核為例的廣播通信鏈路。以主核為原點,主核向其左上方和右下方廣播數(shù)據(jù)時,先沿x方向到達與目標核x坐標相同的位置,再沿y方向最終到達目標核。主核向其右上方和左下方廣播數(shù)據(jù)時,先沿y方向到達與目標核y坐標相同的位置,再沿x方向最終到達目標核。

點對點傳輸所占用的通信鏈路,如圖2(b)所示,每個子核只向其相鄰的子核或主核發(fā)送數(shù)據(jù),通過與廣播鏈路相反的方向?qū)?shù)據(jù)一次傳輸?shù)街骱恕D承┳雍诉€承擔了部分數(shù)據(jù)匯總的任務,不僅可以減輕主核的工作負擔,還進一步減少了通信數(shù)據(jù)量,降低了通信阻塞概率的發(fā)生。

采用包交換的數(shù)據(jù)傳輸方式,在一條鏈路上可以提供多個數(shù)據(jù)通路,大大提高數(shù)據(jù)的傳輸效率。

附圖說明

圖1片上網(wǎng)絡主要拓撲結構。其中,(a)樹狀,(b)星狀,(c)網(wǎng)格狀。

圖2 廣播和點對點傳輸?shù)耐ㄐ沛溌罚?×5 Mesh)。其中,(a)為廣播的通信鏈路,(b)為點對點傳輸?shù)耐ㄐ沛溌贰?/p>

圖3 數(shù)據(jù)包的結構。

圖4 數(shù)據(jù)包包頭的結構。

圖5 點對點傳輸不同位置的核接收到的數(shù)據(jù)塊個數(shù)(優(yōu)化前)。

圖6 點對點傳輸不同位置的核接收到的數(shù)據(jù)塊個數(shù)(優(yōu)化后)。

具體實施方式

下面結合附圖,對本發(fā)明作進一步的描述。

首先,廣播過程是實現(xiàn)并行GPDT算法中通信開銷最大的通信任務,為了減少廣播過程中的通信延時,本發(fā)明將主核放置在二維Mesh網(wǎng)絡的中心位置,其他子核放置在其周圍,使得主核到達其他子核的平均距離最短,最重要的是本發(fā)明設計了相對平衡的廣播通信機制,以25核的Mesh網(wǎng)絡為例如圖2(a),這種機制具體實現(xiàn)方式如下:

以主核為坐標原點,穿過主核的相互垂直且平行于Mesh網(wǎng)絡的相鄰兩條邊的線分別為x軸和y軸,為該坐標系中的所有核設置坐標(x0,y0).如果目標核的坐標x0<0,y0≥0或x0>0,y0≤0,那么廣播數(shù)據(jù)時從坐標原點(0,0)出發(fā),先沿x方向到達(x0,0),再沿y方向到達(x0,y0);如果目標核的坐標x0<0,y0≤0或x0>0,y0≥0,那么廣播數(shù)據(jù)時從坐標原點(0,0)出發(fā),先沿y方向到達(0,y0),再沿x方向到達(x0,y0)。

接著,點對點傳輸所占用的通信鏈路如圖2(b)所示,每個子核只向與其相鄰的核發(fā)送數(shù)據(jù),與本地的數(shù)據(jù)累加之后,再依次傳輸?shù)街骱?,不僅減少通信數(shù)據(jù)量,還能減輕主核的工作負擔。仍然以廣播時的坐標系為點對點傳輸?shù)淖鴺讼?,假設要發(fā)送數(shù)據(jù)的子核的坐標為(x0,y0)。如果發(fā)送數(shù)據(jù)核的坐標x0<0,y0≥0或x0>0,y0≤0,那么點對點傳輸數(shù)據(jù)時從(x0,y0)出發(fā),先沿x方向到達(x0+1,y0)或(x0-1,y0)核,在該核處與本地數(shù)據(jù)一起進行處理(累加操作),重復該過程直至到達(0,y0),再沿y方向重復上述過程直至到達主核(0,0);如果發(fā)送數(shù)據(jù)核的坐標x0<0,y0≤0或x0>0,y0≥0,那么點對點傳輸數(shù)據(jù)時從(x0,y0)出發(fā),先沿y方向到達(x0,y0+1)或(x0,y0-1),在該核處與本地數(shù)據(jù)一起進行處理,重復該過程直至到達(x0,0),再沿x方向重復上述過程直至到達主核(0,0)。

本發(fā)明用到的通信方式為包交換。包交換是把由二進制數(shù)據(jù)表示的信息,分組為若干個長度相同的包,在每個包中添加地址信息和控制信息,在網(wǎng)絡中以“存儲-轉發(fā)”的方式傳輸,即電路一旦空閑開始傳輸,不會占用固定的信道,被稱為是無連接的方式,在一條鏈路上可以提供多個數(shù)據(jù)通路,大大提高數(shù)據(jù)傳輸效率。

待傳輸?shù)臄?shù)據(jù)是由32bit的數(shù)據(jù)組成的數(shù)據(jù)包,數(shù)據(jù)包的結構如圖3所示,數(shù)據(jù)包中head表示包頭,包含了數(shù)據(jù)包的地址信息和控制信息,recv[i]表示發(fā)送的數(shù)據(jù)中每個數(shù)據(jù)塊的長度,disp[i]表示每個數(shù)據(jù)塊在原矩陣中的起始位置,data[i]表示數(shù)據(jù)塊的具體內(nèi)容。其中,包頭的結構如圖4所示,length表示數(shù)據(jù)包的長度,numSlice表示數(shù)據(jù)塊的個數(shù);destY表示目標節(jié)點的縱坐標,destX表示目標節(jié)點的橫坐標;multicast表示是否廣播,廣播時multicast置為1,點對點時,multicast置為0;reserved為保留位。

由圖5可以看出,點對點傳輸時,子核越靠近主核發(fā)送的數(shù)據(jù)越多,通信量越大,在并行GPDT算法中存在兩種不同類型的數(shù)據(jù)匯總行為(矩陣拼接和矩陣累加),為了減少整個并行GPDT的工作時間,除了將計算任務分配到多核上之外,也將矩陣拼接和累加的操作劃分到多核上,不但減少了主核的工作量,也大大減少通信數(shù)據(jù)量,優(yōu)化后的通信數(shù)據(jù)量如圖6所示。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南部县| 永平县| 泰顺县| 方城县| 塘沽区| 柳林县| 浮山县| 大理市| 鄂尔多斯市| 大足县| 磐石市| 平江县| 天镇县| 武城县| 山东省| 江达县| 恩施市| 内江市| 宁明县| 大理市| 建宁县| 鹿泉市| 措美县| 信丰县| 玛沁县| 固始县| 遂昌县| 岑巩县| 买车| 萨嘎县| 仙居县| 凌源市| 清流县| 文安县| 邢台县| 沛县| 白玉县| 邹城市| 镇安县| 科技| 鹤庆县|