一種基于應用劃分的片上網(wǎng)絡ip核映射方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種片上IP核到網(wǎng)絡節(jié)點的映射方法,具體涉及一種基于應用劃分 的片上網(wǎng)絡IP核映射方法。
【背景技術(shù)】
[0002] 隨著集成電路工藝的飛速發(fā)展,芯片上集成的晶體管越來越多,使得設計人員能 夠?qū)⒉煌δ艿哪K單元集成到同一個芯片上,形成了片上系統(tǒng)(SystemonChip,SoC)。 SoC采用具有可重用性的知識產(chǎn)權(quán)(IntellectualProperty,IP)核,提高了系統(tǒng)的設計效 率,縮短了系統(tǒng)的設計周期。然而,當前SoC中普遍采用的傳統(tǒng)總線結(jié)構(gòu)不能充分適應這一 發(fā)展趨勢。片上網(wǎng)絡(NetworkonChip,NoC)因為其良好的并行性,可擴展性和模塊化設 計而得到越來越多的重視。片上網(wǎng)絡設計的關(guān)鍵問題主要包括有:拓撲結(jié)構(gòu)的選擇,路由算 法的設計,交換機制的選擇以及映射優(yōu)化等。映射優(yōu)化是將一個應用映射到NoC拓撲結(jié)構(gòu) 上,保證應用順利完成,并且針對特定優(yōu)化目的實現(xiàn)開銷最小。映射優(yōu)化是NoC設計中的關(guān) 鍵一步,它影響著網(wǎng)絡的時延,能耗等性能指標。在軟硬件協(xié)調(diào)設計中已經(jīng)很好地解決了任 務的分配和調(diào)度問題,因此需要將重點放在IP核到網(wǎng)絡節(jié)點的分配問題上。NoC映射問題 已經(jīng)被證明為NP-hard問題,屬于二次分配問題范疇,當IP核總數(shù)為N時,將會有總共N! 種映射方案。
[0003] 片上網(wǎng)絡規(guī)模正在不斷增大,單一功能模塊不再僅限于一個,模塊間的通信也將 更加靈活。然而當前的映射算法并沒有針對這一情況進行優(yōu)化,例如在原來的制造工藝下, 一個芯片只能集成8個IP核實現(xiàn)單視頻流硬件處理應用,現(xiàn)在由于工藝的進步,IP核以及 內(nèi)部連線所需面積變小,芯片上可以集成16個IP核,能夠完成雙屏顯示視頻流硬件處理 并行應用,然而當前算法只是針對原有的單任務應用進行優(yōu)化算法,僅將原有的映射好的8 個IP核直接復制以實現(xiàn)雙應用并行處理,資源浪費較大,能耗較高。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于針對上述現(xiàn)有技術(shù)中的缺陷,提供一種基于應用劃分的片上網(wǎng) 絡IP核映射方法,通過重復的IP核實現(xiàn)多應用并行處理。
[0005] 為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為,包括以下步驟:
[0006] 步驟一、根據(jù)應用確定通信核圖和拓撲結(jié)構(gòu)圖,并對IP核和網(wǎng)絡節(jié)點編號;
[0007] 步驟二、確定優(yōu)化目標,經(jīng)人工蜂群算法將單個應用所需IP核分配到網(wǎng)絡中得到 子網(wǎng)絡;
[0008] 步驟三、從組成子網(wǎng)絡的四個邊中選擇與其余部分通信量最大的一個邊,并將原 有的子網(wǎng)絡作為已知條件,在該邊的相鄰處再用蜂群算法設計新子網(wǎng)絡;
[0009] 步驟四、根據(jù)子網(wǎng)絡同時運行的應用數(shù)量,選擇最優(yōu)的IP核進行通信。
[0010] 所述的步驟一中依次對應用的IP核從叫到mN。編號,Nc為IP核的數(shù)量;通過N2 的矩陣描述應用的通信核圖,確定IP核間傳送的流量B= 11 1 <i,j<N},其中,h1 描述IP核mi發(fā)送給IP核mj的流量,如果某對IP核間不存在通信則用0表示;
[0011] 在RXC的2DMesh網(wǎng)絡中,對映射編碼x=(nv......,11^,......,mN(:)按列優(yōu)先排 列,若用一組二維坐標匕,7;)表示網(wǎng)絡節(jié)點1^,則1;=1]1〇(1(;[-1,1?)+1,7;=[(;[-1)/1?]+1, 其中,R表示網(wǎng)絡的行數(shù),C為網(wǎng)絡的列數(shù),[?]表示對變量?進行向下取整。
[0012] 通過跳數(shù)來度量網(wǎng)絡能耗,網(wǎng)絡能耗為IbifDist(mi'mj<其中 \<u j<N 是IP核m;發(fā)送給IP核m_j的通信流量,Dist(m;,nij)是叫和m_j間的曼哈頓距離。
[0013] 在采用最短路由的 2DMesh網(wǎng)絡中,DistOivm) =Ixi-Xjl+lyi-y」。
[0014] 根據(jù)網(wǎng)絡能耗確立收益度評價函數(shù)為Fitness(x) = 1/Energy(x)。
[0015] 所述的人工蜂群算法將單個應用所需IP核分配到網(wǎng)絡中包括:
[0016] 1)定義種群中個體數(shù)目PopSize,最大迭代次數(shù)Maxlter,引領(lǐng)蜂所占種群比例 LProb,跟隨蜂所占種群比例FProb,偵查蜂所占種群比例SProb;
[0017] 通過隨機生成PopSize個映射構(gòu)成初始種群X(Xp......,x;,......,xPcipSize),每 個映射解陷入局部最優(yōu)的次數(shù)Trial= (trails,......,trail;,......,trailPcipSize)= (〇,......,〇,......,〇),隨機生成最佳映射BestM初始化當前迭代次數(shù)Curlter= 1 ;
[0018]2)根據(jù)優(yōu)化目的計算每個映射的收益度Fitness(Xl),并按照收益度從高到低將 個體排序,按照蜜蜂執(zhí)行任務的不同將其分類為引領(lǐng)蜂,跟隨蜂和偵查蜂;檢查將種群X中 的第一行的映射方案是否優(yōu)于最佳映射BestM,若是則替換BestM;
[0019] 3)各類蜜蜂分別執(zhí)行相應操作,分別為,
[0020] 3. 1)引領(lǐng)蜂是在下一輪搜索前存儲著當前最佳映射方案的蜜蜂,它們的主要任務 是招募跟隨蜂與其前往指定的食物源進行鄰域搜索;引領(lǐng)蜂將其得到的食物源分享給跟隨 蜂,然后到食物源附近進行鄰域搜索,如果新發(fā)現(xiàn)的食物源優(yōu)于原先的食物源,就按照貪婪 準則替換掉原有的食物源,否則依舊存儲原來的食物源信息;其中,食物源即映射方案,鄰 域搜索是在食物源附近產(chǎn)生新的隨機解,其與原食物源的距離小于規(guī)定的距離;采用隨機 選擇原映射方案中的兩個IP核,交換其位置的方法進行鄰域搜索;
[0021] 3. 2)跟隨蜂從引領(lǐng)蜂處獲得食物源相關(guān)信息,根據(jù)下式判斷是否跟隨引領(lǐng)蜂鄰域 搜索,
[0022]
[0023] 其中Pi是跟隨蜂決定跟隨第i個引領(lǐng)蜂的概率,PopSizeXLProb是引領(lǐng)蜂的總數(shù) 量;
[0024] 當跟隨蜂決定跟隨某個引領(lǐng)蜂時,它將前往該引領(lǐng)蜂對應食物源進行鄰域搜索, 方法與引領(lǐng)蜂相同,同樣地,如果新發(fā)現(xiàn)的食物源優(yōu)于原先的食物源,就按照貪婪準則替換 掉原有的食物源,否則依舊存儲原來的食物源信息;
[0025] 3. 3)偵查蜂使用貪婪準則在整個映射空間中產(chǎn)生新的隨機映射,存儲發(fā)現(xiàn)的最佳 食物源;
[0026] 4)判斷每個個體的trial;是否大于等于Limit,若是,則強制將該個體X;轉(zhuǎn)換為 偵查蜂,即隨機生成新的映射,否則triali=trial;+1;
[0027] 5)檢查當前Curlter是否達到最大迭代次數(shù)Maxlter,若是則輸出BestM中的映 射,否則Curlter=Curlter+l,然后執(zhí)行步驟2。
[0028] 所述的步驟2)中引領(lǐng)蜂占種群50 %,跟隨蜂占種群40 %,偵查蜂占種群10 %。
[0029] 所述的步驟二中優(yōu)化目標包括降低能耗或降低延時。
[0030] 步驟三中若新子網(wǎng)絡在單應用運行時能耗高于原子網(wǎng)絡,則放棄該子網(wǎng)絡,并復 制原子網(wǎng)絡以替換新子網(wǎng)絡;若新子網(wǎng)絡在單應用運行時能耗低于原子網(wǎng)絡,則保留該新 子網(wǎng)絡。
[0031] 步驟四中如果同時運行的應用數(shù)量等于子網(wǎng)絡數(shù),則每個應用在各自的子網(wǎng)絡內(nèi) 運行;如果同時運行的應用數(shù)量等于或小于子網(wǎng)絡數(shù),則選擇在新設計的子網(wǎng)絡中運行。
[0032] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:通過采用人工蜂群算法將單個應用 所需IP核分配到網(wǎng)絡中得到子網(wǎng)絡,多次將原有子網(wǎng)絡作為已知條件通過蜂群算法設計 另一個子網(wǎng)絡,從而設計出多應用并列運行的片上網(wǎng)絡,最終根據(jù)子網(wǎng)絡同時運行的應用 數(shù)量,選擇出最優(yōu)的IP核進行通信,因此,在保證良好的多應用并行處理條件下,本發(fā)明能 夠充分利用重復的IP核資源優(yōu)化單應用性能,同時降低單應用運行時的能耗。
【附圖說明】
[0033] 圖1本發(fā)明映射方法的整體流程圖
[0034] 圖2本發(fā)明以多媒體系統(tǒng)視頻為例實施的通信核圖
【具體實施方式】
[0035] 下面結(jié)合附圖對本發(fā)明做進一步的詳細說明。
[0036] 本發(fā)明基于應用劃分的片上網(wǎng)絡IP核映射方法主要包括以下步驟,參見圖1 :
[0037] 步驟1,根據(jù)應用確定通信核圖和拓撲結(jié)構(gòu)圖,對IP核和網(wǎng)絡節(jié)點編號,確定優(yōu)化 目標。
[0038] 1. 1)選擇需要映射的應用,確定其通信核