亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法

文檔序號(hào):7741750閱讀:301來源:國知局
專利名稱:片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法
技術(shù)領(lǐng)域
本發(fā)明涉及基于布圖規(guī)劃技術(shù)的一般性2D拓?fù)浣Y(jié)構(gòu),特別涉及片上網(wǎng)絡(luò)(NoC, Network-on-Chip)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法。
背景技術(shù)
隨著集成電路的制造技術(shù)的不停發(fā)展,單個(gè)硅片上可以容納的晶體管數(shù)目越來越 多,已經(jīng)達(dá)到了數(shù)十億門級(jí),這意味著單個(gè)芯片中可集成越來越多的IP核。傳統(tǒng)的總線結(jié) 構(gòu)無法適應(yīng)數(shù)十個(gè)乃至上百個(gè)IP核的通信要求。此時(shí)片上網(wǎng)絡(luò)作為在單一芯片上實(shí)現(xiàn)的 基于網(wǎng)絡(luò)通訊的多處理系統(tǒng),很好地解決總線結(jié)構(gòu)帶來的問題(參見文獻(xiàn)1-4),其將計(jì)算 機(jī)網(wǎng)絡(luò)技術(shù)應(yīng)用到芯片設(shè)計(jì)中來,得到了優(yōu)于總線結(jié)構(gòu)的結(jié)果。然而,現(xiàn)有的NoC設(shè)計(jì)(參見文獻(xiàn)5-8)中,映射問題和拓?fù)浣Y(jié)構(gòu)一直未能實(shí)現(xiàn)優(yōu) 化,劣化的映射影響在相應(yīng)拓?fù)浣Y(jié)構(gòu)上的最終位置,同時(shí),規(guī)則的拓?fù)浣Y(jié)構(gòu)造成芯片面積很 大的浪費(fèi),在此基礎(chǔ)上,現(xiàn)有的NoC設(shè)計(jì)功耗較大。因此,有必要提供一種改進(jìn)的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法上述提到的相關(guān)文獻(xiàn)[ 1 ] Kumar S, Jantsch A, Soininen J P, et al. A network on chip architecture anddesign methodology[C],Proceedings of the IEEE Computer Society AnnualSymposium on VLSI, Pittsburgh,2002. 105-112[2]Dally W J, Towles B. Route packets, not wires :on_chip interconnectionnetworks[C], Proceedings of Design Automation Conference, Las Vegas, Nevada,2001,684-689[3]張磊、李華偉、李曉維。用于片上網(wǎng)絡(luò)的容錯(cuò)通信算法[J],計(jì)算機(jī)輔助設(shè)計(jì)與 圖形學(xué)學(xué)報(bào),2007,19 (4) · 508-514[4]周干民、高明倫。NoC基礎(chǔ)研究[D].合肥合肥工業(yè)大學(xué)[5]Chae-Eun Rhee, Han-You Jeong, Soonhoi Ha. Many-to-many core-switch mapping in 2_D mesh NoC architecturs[C], ICCD 2004,San Jose, CA,2004. 438-443.[6]Srinivasan Murali, Giovanni De Micheli.Bandwidth-constrained mappingof cores onto NoC architectures[C],Proceedings of Design,Automation and Test inEurope Conference and Exhibition (DATE 04). France :Paris,2004,896-901.[7]Jingcao Hu, Radu Marculescu. Energy-and performance-aware mapping forregular NoC architectures[J], IEEE Transactions on CAD of IC and Systems, 2005,24(4),551-562.[8]古海云、李長文、孫姝.不規(guī)則2D Mesh NoC映射算法研究[J].微電子學(xué)與計(jì) 算機(jī).2008,25 (7). 56-60

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,能優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu) 和映射,減小功耗。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,包 括如下步驟對(duì)布局中的每一個(gè)模塊,從每個(gè)模塊的右上角的頂點(diǎn)出發(fā),優(yōu)先向上繪制,再 向右繪制,一直繪制到布圖的右上角;從每個(gè)模塊的左下角的頂點(diǎn)出發(fā),優(yōu)先向下繪制,再 向左繪制,一直繪制到布圖的左下角;基于布局的左下角到右上角的直線與第一折線相交 的順序,給布局中的所有模塊編號(hào);對(duì)布局中的編號(hào)模塊,從每個(gè)模塊的左上角的頂點(diǎn)出 發(fā),優(yōu)先向上繪制,再向左繪制,一直繪制到布圖的左上角;從每個(gè)模塊的右下角的頂點(diǎn)出 發(fā),優(yōu)先向下繪制,再向右繪制,一直繪制到布圖的左下角;基于布局的左上角到右下角的 直線與第二折線相交的順序,獲取優(yōu)化拓?fù)浣Y(jié)構(gòu)的單序列;根據(jù)單序列與模塊集合的映射 關(guān)系,獲取優(yōu)化映射的名稱序列。在本發(fā)明的一個(gè)實(shí)施例中,所述方法還包括步驟將單序列解碼成水平關(guān)系圖和 垂直關(guān)系圖,并將水平關(guān)系圖和垂直關(guān)系圖細(xì)分為上下左右共四個(gè)鄰接關(guān)系圖。在本發(fā)明的另一實(shí)施例中,所述方法還包括步驟根據(jù)名稱序列和由單序列確定 的水平關(guān)系圖和垂直關(guān)系圖對(duì)序列對(duì)解碼,確定各個(gè)模塊的位置。在本發(fā)明的再一實(shí)施例中,所述方法還包括步驟通過比較單序列中整數(shù)元素的 大小和整數(shù)元素在單序列中的左右位置確定整數(shù)元素所對(duì)應(yīng)的模塊的上下左右關(guān)系。在本發(fā)明的又一實(shí)施例中,所述方法還包括步驟根據(jù)GXY路由算法確定整個(gè)片 上網(wǎng)絡(luò)NoC的路由。其中,所述GXY路由算法的原則為先沿著水平方向路由,再沿著垂直方向路由,直 到將信號(hào)傳送到目標(biāo)模塊。在本發(fā)明的再一實(shí)施例中,所述方法還包括步驟根據(jù)上下左右四個(gè)鄰接關(guān)系圖 判斷模塊相鄰。在本發(fā)明的又一實(shí)施例中,所述方法還包括步驟根據(jù)模塊相鄰的判斷結(jié)果確定 模塊之間的距離,基于確定的片上網(wǎng)絡(luò)的路由獲取功耗。由上述技術(shù)方案可知,本發(fā)明片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法通過兩種繪制 方法確定優(yōu)化拓?fù)浣Y(jié)構(gòu)的單序列,進(jìn)而通過單序列和模塊集合的映射關(guān)系,獲取優(yōu)化映射 的名稱序列,因此,本方法可以優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和映射,減小功耗。另外,本發(fā)明采用了 GXY路 由算法確定整個(gè)片上網(wǎng)絡(luò)NoC的路由,并依據(jù)模擬退火算法進(jìn)行了優(yōu)化,得到了功耗低且 面積小的布局結(jié)果。通過以下的描述并結(jié)合附圖,本發(fā)明將變得更加清晰,這些附圖用于解釋本發(fā)明 的實(shí)施例。


圖1為本發(fā)明片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法的流程圖。圖Ia展示了圖1所示片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法中的第一種拓?fù)浣Y(jié)構(gòu) 繪制方法。圖Ib為在圖Ia中繪制一條從左上角到右下角的直線的示意圖。
圖Ic展示了根據(jù)圖Ib所示繪制方法對(duì)模塊進(jìn)行編號(hào)的方法。圖Id展示了圖1所示片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法中的第二種拓?fù)浣Y(jié)構(gòu) 繪制方法。圖Ie為在圖Id中繪制一條從左下角到右上角的直線的示意圖。圖2a展示了圖Id所示繪制方法確定的單序列解碼的水平關(guān)系圖。圖2b展示了圖Id所示繪制方法確定的單序列解碼的垂直關(guān)系圖。圖2c展示了圖Id所示繪制方法確定的單序列對(duì)應(yīng)的拓?fù)浣Y(jié)構(gòu)圖。圖3展示了圖Id所示繪制方法確定的單序列與模塊集合的映射關(guān)系。圖4展示了圖1所示片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法中序列對(duì)解碼后的布局 中兩模塊的上下左右關(guān)系。圖5展示了圖1所示片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法中模塊之間的相鄰關(guān)系。圖6為圖1所示片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法中GXY路由算法實(shí)現(xiàn)路由的 示意圖。圖7為MPEG4的任務(wù)圖。圖8展示了基于圖7所示任務(wù)圖采用指數(shù)降溫策略進(jìn)行退火得到的優(yōu)化布局結(jié)^ ο
具體實(shí)施例方式現(xiàn)在參考附圖描述本發(fā)明的實(shí)施例,附圖中類似的元件標(biāo)號(hào)代表類似的元件。見圖1,本實(shí)施例片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,包括如下步驟步驟S10,對(duì)布局中的每一個(gè)模塊,從每個(gè)模塊的右上角的頂點(diǎn)出發(fā),優(yōu)先向上繪 制,再向右繪制,一直繪制到布圖的右上角;從每個(gè)模塊的左下角的頂點(diǎn)出發(fā),優(yōu)先向下繪 制,再向左繪制,一直繪制到布圖的左下角;步驟S11,基于布局的左下角到右上角的直線與第一折線相交的順序,給布局中的 所有模塊編號(hào);步驟S12,對(duì)布局中的編號(hào)模塊,從每個(gè)模塊的左上角的頂點(diǎn)出發(fā),優(yōu)先向上繪制, 再向左繪制,一直繪制到布圖的左上角;從每個(gè)模塊的右下角的頂點(diǎn)出發(fā),優(yōu)先向下繪制, 再向右繪制,一直繪制到布圖的左下角;步驟S13,基于布局的左上角到右下角的直線與第二折線相交的順序,獲取優(yōu)化拓 撲結(jié)構(gòu)的單序列(Single-Sequence,SS);步驟S14,將單序列解碼成水平關(guān)系圖和垂直關(guān)系圖,并將水平關(guān)系圖和垂直關(guān)系 圖細(xì)分為上下左右共四個(gè)鄰接關(guān)系圖;步驟S15,根據(jù)單序列與模塊集合的映射關(guān)系,獲取優(yōu)化映射的名稱序列 (Name-Sequence, NS);步驟S16,根據(jù)名稱序列和由單序列確定的水平關(guān)系圖和垂直關(guān)系圖對(duì)序列對(duì)解 碼,確定各個(gè)模塊的位置;步驟S17,通過比較單序列中整數(shù)元素的大小和整數(shù)元素在單序列中的左右位置 確定整數(shù)元素所對(duì)應(yīng)的模塊的上下左右關(guān)系;
步驟S18,根據(jù)GXY路由算法確定整個(gè)片上網(wǎng)絡(luò)NoC的路由;步驟S19,根據(jù)上下左右四個(gè)鄰接關(guān)系圖判斷模塊相鄰;步驟S20,根據(jù)模塊相鄰的判斷結(jié)果確定模塊之間的距離,基于確定的片上網(wǎng)絡(luò)的 路由獲取功耗。由上可以看出,本方法采用雙序列表示法_確定拓?fù)浣Y(jié)構(gòu)的單序列SS和確定映射 的名稱序列NS,能對(duì)拓?fù)浣Y(jié)構(gòu)、映射進(jìn)行優(yōu)化,實(shí)現(xiàn)專用的多核設(shè)備的制造過程中功耗盡可 能低的目標(biāo)。由于本方法采用單序列SS和模塊名稱序列NS表示布局,因此可稱為SSNS布 局表不法。下面對(duì)實(shí)施例片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法進(jìn)行詳細(xì)說明。確定優(yōu)化拓?fù)浣Y(jié)構(gòu)的單序列第一種拓?fù)浣Y(jié)構(gòu)繪制方法Stepl 對(duì)布局中的每一個(gè)模塊,從每個(gè)模塊的右上角的頂點(diǎn)出發(fā),優(yōu)先向上繪制, 再向右繪制,一直繪制到布圖的右上角。St印2:同理,從每個(gè)模塊的左下角的頂點(diǎn)出發(fā),優(yōu)先向下繪制,再向左繪制,一直 繪制到布圖的左下角,得到如圖Ia所示的拓?fù)浣Y(jié)構(gòu)。第二種撲結(jié)構(gòu)繪制方法Stepl 對(duì)布局中的每一個(gè)模塊,從每個(gè)模塊的左上角的頂點(diǎn)出發(fā),優(yōu)先向上繪制, 再向左繪制,一直繪制到布圖的左上角。Step2:同理,從每個(gè)模塊的右下角的頂點(diǎn)出發(fā),優(yōu)先向下繪制,再向右繪制,一直 繪制到布圖的左下角。在圖Ia中,繪制一條從左上角到右下角的直線,如圖lb,按照直線與折線相交的 順序,用數(shù)字給模塊進(jìn)行編號(hào),得到圖lc。如圖lc,模塊已用數(shù)字1-6進(jìn)行了編號(hào)。運(yùn)用第 二種拓?fù)浣Y(jié)構(gòu)繪制方法,對(duì)編號(hào)的模塊進(jìn)行拓?fù)浣Y(jié)構(gòu)繪制,得到如圖Id所示的拓?fù)浣Y(jié)構(gòu)。 在圖Id中,繪制一條從左下角到右上角的直線,如圖le,按照直線與折線相交的順序得到 一組序列(4,2,6,1,3,5)-確定拓?fù)浣Y(jié)構(gòu)的單序列SS。由上可以看出,對(duì)含有η個(gè)模塊的拓?fù)浣Y(jié)構(gòu)布局問題,單序列SS的長 度僅為η,本方法是序列對(duì)表示法(參考H. Murata, K. Fujiyoshi, S. Nakatake, et a 1. . "Rectangle-Packing-based Module Placement, " IEEE/ACM InternationalConference on Computer-Aided Design(ICCAD), San Jose, California, USA,November 1995,472-479)的一種改進(jìn),僅僅用一個(gè)整數(shù)序列就能夠把模塊的上下左右 (ABLR)關(guān)系表示出來,確定拓?fù)浣Y(jié)構(gòu),實(shí)現(xiàn)拓?fù)浣Y(jié)構(gòu)的優(yōu)化。在NoC問題中,經(jīng)過優(yōu)化的拓 撲結(jié)構(gòu)要遠(yuǎn)遠(yuǎn)優(yōu)于一般的拓?fù)浣Y(jié)構(gòu)(如Mesh拓?fù)浣Y(jié)構(gòu))。確定模塊之間的上下左右關(guān)系在單序列SS中,通過比較單序列SS中整數(shù)元素的大小和整數(shù)元素在單序列SS中 的左右位置確定整數(shù)元素所對(duì)應(yīng)的模塊的上下左右關(guān)系。具體的定義如下(1)單序列SS中整數(shù)元素a在整數(shù)元素b的右邊同時(shí)a < b時(shí),整數(shù)元素a對(duì)應(yīng) 的模塊位于整數(shù)元素b對(duì)應(yīng)的模塊的上邊。(2)單序列SS中整數(shù)元素a在整數(shù)元素b的左邊同時(shí)a > b,整數(shù)元素a對(duì)應(yīng)的 模塊位于整數(shù)元素b對(duì)應(yīng)的模塊的下邊。
(3)單序列SS中整數(shù)元素a在整數(shù)元素b的左邊同時(shí)a < b,整數(shù)元素a對(duì)應(yīng)的 模塊位于整數(shù)元素b對(duì)應(yīng)的模塊的左邊。(4)單序列SS中整數(shù)元素a在整數(shù)元素b的右邊同時(shí)a > b,整數(shù)元素a對(duì)應(yīng)的 模塊位于整數(shù)元素b對(duì)應(yīng)的模塊的右邊。圖4展示了序列對(duì)(SP)解碼后的布局中兩模塊的上下左右關(guān)系。如圖,模塊j的 左邊界尚未離開上方的區(qū)域,故模塊j的位置屬于模塊i的上方。單序列的解碼
將單序列SS解碼成唯一的水平關(guān)系圖和垂直關(guān)系圖(具體解碼方法參考Kang Li, Juebang Yu, YongbingYu, Configuration of Floorplan and PlacementAlgorithm Using Horizontal and Vertical Contour Based on Single Sequence[C], InProceedings of Communications, Circuits and Systems,2008,1171-1174),該兩圖對(duì)應(yīng)了 NoC 的一般性 2D拓 撲結(jié)構(gòu),可見本方法對(duì)單序列SS這一整數(shù)序列解碼成布局較為簡單。上述單序列SS (4,2,6, 1,3,5)解碼的水平關(guān)系圖和垂直關(guān)系圖見圖2a、2b所示,對(duì)應(yīng)的2D拓?fù)浣Y(jié)構(gòu)見圖2c。本發(fā)明采用鄰接鏈表這種數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)圖,根據(jù)指針的指向不同,將上述水平 關(guān)系圖和垂直關(guān)系圖分別存儲(chǔ)為左右鄰接鏈表和上下鄰接鏈表。對(duì)右和上鄰接鏈表,新的 邊插到鏈表的尾端。直接遍歷右和上鄰接鏈表,得到左和下鄰接鏈表,對(duì)于左和下鄰接鏈 表,新的邊插到鏈表的頭結(jié)點(diǎn)后。確定優(yōu)化映射的名稱序列根據(jù)單序列與模塊集合的映射關(guān)系,確定名稱序列。例如上述單序列SS = (4,2, 6,1,3,5),模塊集合 M = {SRAM, FIFO, ME, Input, VLC, CompBlock},單序列 SS 中的元素與 模塊集合M中的元素構(gòu)成的任何一種一一映射對(duì)應(yīng)一種布局。由圖3所示的映射關(guān)系可以得到與單序列SS對(duì)應(yīng)的模塊序列為(SRAM,F(xiàn)IF0,ME, Input, VLC, CompBlock),這個(gè)序列稱為名稱序列NS。將長度為2η的序列對(duì)(SP)用一個(gè)長度為η的單序列SS和一個(gè)長度為η的模 塊名稱序列NS來表示。根據(jù)名稱序列NS和由單序列SS確定的水平關(guān)系圖和垂直關(guān)系 圖對(duì)序列對(duì)(SP)解碼,確定各個(gè)IP模塊的位置(以各IP模塊的左下角的頂點(diǎn)坐標(biāo)作為 它的位置,具體位置確定方法參考 Kang Li, Juebang Yu, YongbingYu, Configuration of Floorplan and Placement Algorithm Using Horizontaland Vertical Contour Based on Single Sequence[C], In Proceedings ofCommunications,Circuits and Systems,2008, 1171-1174)。這種方法得到的各個(gè)IP模塊的位置都是緊緊相鄰的。上述NoC的映射方法有如下益處1)由于各個(gè)IP模塊的位置都是緊緊相鄰的,因 此路由的距離也隨之縮短,功耗也會(huì)降低;2)各個(gè)IP模塊的位置緊緊相鄰也可以減少整個(gè) 布圖的面積;3)從上述算法可以看出,不用考慮模塊重疊的問題。判斷模塊是否相鄰假設(shè)模塊Mi映射到單序列SS中的數(shù)字為Si,模塊%映射到單序列SS中的數(shù)字為 Sjo則兩模塊相鄰為1)右鄰接關(guān)系圖中,Si的鄰接鏈表的第一個(gè)鄰接點(diǎn)是Sj,則Mi在Mj的左邊并且是 相鄰的。2)左鄰接關(guān)系圖中,Si的鄰接鏈表的第一個(gè)鄰接點(diǎn)是Sj,則Mi在Mj的右邊并且是相鄰的。3)下鄰接關(guān)系圖中,Si的鄰接鏈表的第一個(gè)鄰接點(diǎn)是Sj,則Mi在Mj的上邊并且是相鄰的。4)上鄰接關(guān)系圖中,Si的鄰接鏈表的第一個(gè)鄰接點(diǎn)是Sj,則Mi在Mj的下邊并且是 相鄰的?;谏鲜龆x,圖5中與模塊M相鄰的模塊有1)左相鄰模塊M左1,模塊M左2 ;2)右相鄰模塊M右1,模塊M右2 ;3)上相鄰模塊Mil,模塊M上2 ;4)下相鄰模塊M下1,模塊M下2,模塊M下3。無死鎖靜態(tài)GXY路由算法基于單序列SS確定的拓?fù)浣Y(jié)構(gòu),根據(jù)GXY路由算法確定整個(gè)片上網(wǎng)絡(luò)NoC的路 由。其中GXY路由算法的原則為先沿著水平方向路由,再沿著垂直方向路由,直到將信號(hào)傳 送到目標(biāo)模塊。下面詳細(xì)描述GXY路由算法如何實(shí)現(xiàn)路由。如圖6所示,假設(shè)路由起點(diǎn)模塊為模 塊Ms,終點(diǎn)模塊為模塊Mg,則具體路由步驟為stepl 確定模塊Ms和模塊Mg的相對(duì)位置關(guān)系模塊Ms在模塊Mg的右上方;st印2 令模塊Ms向左路由一步(選取其中一個(gè)左相鄰模塊),并將新的模塊記為 模塊Ms ;令模塊Mg向上路由一步(選取其中一個(gè)上相鄰模塊),并將新的模塊記為Mg ;st印3 不斷重復(fù)st印2,直到遇到相交點(diǎn)模塊Merass ;St印4 將st印2中模塊Ms和模塊Mg路由的路徑連接起來,連接的路徑即為模塊軋 到模塊Mg路由方案。在模塊Ms向左路由時(shí),根據(jù)實(shí)際情況選取左相鄰模塊,當(dāng)交換機(jī)都放在左下角時(shí), 每次選取最后一個(gè)左相鄰模塊;在模塊^向上路由時(shí),根據(jù)實(shí)際情況選取上相鄰模塊,當(dāng)交 換機(jī)都放在左下角,每次選取第一個(gè)上相鄰模塊。另外,不存在右相鄰模塊,則以第一個(gè)鄰 接點(diǎn)作為右相鄰模塊,不存在上、下、左相鄰模塊為類似處理。由上可以看出,本方法采用了推廣的XY維序路由算法GXY路由算法(generalized XY routing algorithm)確定整個(gè)片上網(wǎng)絡(luò)NoC的路由,相比于傳統(tǒng)的XY維序路由算法,不 僅克服了只能應(yīng)用在規(guī)則的Mesh拓?fù)浣Y(jié)構(gòu)上的缺陷,能應(yīng)用到不規(guī)則的2D拓?fù)浣Y(jié)構(gòu)上,而 且能夠較大程度地降低功耗。NoC功耗計(jì)算由于NoC的電路規(guī)模巨大,而且在基于納米工藝下進(jìn)行加工,在單芯片上實(shí)現(xiàn)更 大規(guī)模電路集成的條件下,如何降低通信功耗成為設(shè)計(jì)者越來越關(guān)心的問題,因此功耗也 成為NoC最重要的約束。定義1 IP核通信任務(wù)圖G(V,C)是一個(gè)有向圖,每個(gè)頂點(diǎn)ν e V,表示一個(gè)IP模 塊,每條有向邊e C,表示從第i個(gè)IP核到第j個(gè)IP核的通信任務(wù),權(quán)重表示通信 任務(wù)Cij的數(shù)據(jù)流量,單位為flit,通訊量與flit數(shù)成正比。定義2 NoC拓?fù)浣Y(jié)構(gòu)圖P(R,L)是一個(gè)有向完全圖,每個(gè)頂點(diǎn)r e R表示一個(gè)資 源節(jié)點(diǎn),每條有向邊Iu e L,表示從節(jié)點(diǎn)i到節(jié)點(diǎn)j的路徑,其權(quán)值表示從節(jié)點(diǎn)i傳輸一個(gè)flit到節(jié)點(diǎn)j的功耗大小。給定IP核通信任務(wù)圖G和NoC拓?fù)浣Y(jié)構(gòu)圖P,尋找處理單元T到資源節(jié)點(diǎn)R的映 射函數(shù)Φ,NoC功耗的目標(biāo)函數(shù)為
<formula>formula see original document page 9</formula>約束條件為<formula>formula see original document page 9</formula>(2)<formula>formula see original document page 9</formula> (3)其中,約束條件(2)和(3)表明每個(gè)處理單元只能被分配到一個(gè)資源節(jié)點(diǎn)上,而且 每個(gè)資源節(jié)點(diǎn)只能分配一個(gè)處理單元。其中,其中,E為NoC的總功耗,Wij.表示第i個(gè)IP核到第j個(gè)IP核的通信任務(wù)的 數(shù)據(jù)流量…表示從資源節(jié)點(diǎn)α傳輸一個(gè)數(shù)據(jù)流控制單元到資源節(jié)點(diǎn)。的功耗。 emaP{rt ),〃#( )的計(jì)算米用了 H_S. Wang 等人(參考 Hangsheng Wang, Xinping Zhu, Li-Shiuan Peh,et al. . Orion :A Power-Performance Simulator forInterconnection Networks,In Proceedings of MICRO 35,Istanbul,Turkey, November 2002,294-305)建立的體系結(jié)構(gòu) 級(jí)的通訊功耗模型。具體地為 emap{n )map(rl) = ^ηο ββnode + ^IinkeIink(^)其中,en。de表示每個(gè)交換機(jī)處理1個(gè)flit數(shù)據(jù)所消耗的能量,elink表示每個(gè)flit 數(shù)據(jù)經(jīng)過一個(gè)通道所消耗的能量,Nntxte表示路由過程中經(jīng)過的交換機(jī)數(shù)目,Dlink表示從節(jié)點(diǎn) A到節(jié)點(diǎn)r」的路由距離。若第i個(gè)IP模塊與第j個(gè)IP模塊相鄰,則兩模塊之間的距離采用曼哈頓距離;若 第i個(gè)IP模塊與第j個(gè)IP模塊不相鄰,則按路由路徑重新對(duì)第i個(gè)IP模塊、第j個(gè)IP模 塊以及位于兩模塊之間的模塊進(jìn)行編號(hào)i,i+1,. . .,j-1,j,此時(shí)兩模塊之間的距離為<formula>formula see original document page 9</formula>其中,dk表示第k個(gè)IP模塊與第k+Ι個(gè)IP模塊之間的曼哈頓距離,由此可以求出 第i個(gè)IP模塊與第j個(gè)IP模塊之間的功耗大小為 <formula>formula see original document page 9</formula>再由公式(1)就可以計(jì)算出總的功耗。本發(fā)明復(fù)雜度分析解空間的復(fù)雜度采用BSG網(wǎng)格(整個(gè)芯片平均分成nXn個(gè)網(wǎng)格),其解空間為 丨,解空間的復(fù)雜 度遠(yuǎn)大于0((η! )2)。使用本發(fā)明SSNS布局表示法,若有η個(gè)模塊,則解空間的復(fù)雜度為0((η ! )2)。因此,本發(fā)明SSNS布局表示法的解空間復(fù)雜度比采用BSG的解空間復(fù)雜度低。計(jì)算功耗的復(fù)雜度
采用BSG網(wǎng)格,在計(jì)算功耗時(shí)用Dijkstra算法,它的復(fù)雜度為節(jié)點(diǎn)個(gè)數(shù)的平方,由 于大小為nXn的布局矩陣共有(η+1)2個(gè)節(jié)點(diǎn),那么要計(jì)算Cn2對(duì)模塊之間的距離,計(jì)算功 耗的復(fù)雜度為Cn2X (η+1)4,即0(η6)。用本發(fā)明SSNS布局表示法,只需用布局解碼后的模塊坐標(biāo)來計(jì)算兩兩模塊之間 的曼哈頓距離,計(jì)算一對(duì)模塊的最短距離的復(fù)雜度是常數(shù)級(jí)的。由于布局解碼的復(fù)雜度為 0 (η2),計(jì)算功耗的復(fù)雜度為0(n2+Cn2),即0(n2)。因此,本發(fā)明SSNS布局表示法的計(jì)算功耗復(fù)雜度比采用BSG的計(jì)算功耗復(fù)雜度 低??紤]路由算法的計(jì)算功耗復(fù)雜度計(jì)算功耗的過程中若考慮到路由,根據(jù)上下左右關(guān)系圖可得到模塊A到模塊B的 路由路徑,復(fù)雜度僅為O(n)。由于布局中共有Cn2對(duì)模塊,引入路由算法后,計(jì)算功耗的復(fù) 雜度為0(n3)。
因此,即使考慮到路由算法,本發(fā)明SSNS布局表示法的計(jì)算功耗復(fù)雜度仍比采用 BSG的計(jì)算功耗復(fù)雜度低。由NoC的映射和路由問題的解空間的復(fù)雜度可以看出,該問題是NP難題 (NP-Complete,非多項(xiàng)式算法難題),目前一般采用啟發(fā)式算法進(jìn)行求解。本發(fā)明采用模擬退火方法對(duì)片上網(wǎng)絡(luò)的映射和路由問題進(jìn)行優(yōu)化求解。設(shè)NS和 SS的初始值均為1,2,3,...,η。可以用以下幾種操作產(chǎn)生新的解操作1 交換NS中的若干對(duì)數(shù)字;操作2 將NS中的第i個(gè)數(shù)字插入到第j個(gè)位置;操作3 交換SS中的若干對(duì)數(shù)字;操作4 將SS中的第i個(gè)數(shù)字插入到第j個(gè)位置;操作5 設(shè)定一個(gè)概率值(如0. 0001),并以這個(gè)概率交換第i個(gè)模塊的寬度和高度。采用指數(shù)降溫策略進(jìn)行退火,以圖7所示的MPEG4的任務(wù)圖進(jìn)行實(shí)驗(yàn),得到的優(yōu)化 布局結(jié)果如圖8所示。本方法依據(jù)模擬退火算法進(jìn)行了對(duì)路由進(jìn)行了優(yōu)化,得到了功耗低 且面積小的布局結(jié)果。以上結(jié)合最佳實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但本發(fā)明并不局限于以上揭示的實(shí)施 例,而應(yīng)當(dāng)涵蓋各種根據(jù)本發(fā)明的本質(zhì)進(jìn)行的修改、等效組合。
權(quán)利要求
一種片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,包括如下步驟對(duì)布局中的每一個(gè)模塊,從每個(gè)模塊的右上角的頂點(diǎn)出發(fā),優(yōu)先向上繪制,再向右繪制,一直繪制到布圖的右上角;從每個(gè)模塊的左下角的頂點(diǎn)出發(fā),優(yōu)先向下繪制,再向左繪制,一直繪制到布圖的左下角;基于布局的左下角到右上角的直線與第一折線相交的順序,給布局中的所有模塊編號(hào);對(duì)布局中的編號(hào)模塊,從每個(gè)模塊的左上角的頂點(diǎn)出發(fā),優(yōu)先向上繪制,再向左繪制,一直繪制到布圖的左上角;從每個(gè)模塊的右下角的頂點(diǎn)出發(fā),優(yōu)先向下繪制,再向右繪制,一直繪制到布圖的左下角;基于布局的左上角到右下角的直線與第二折線相交的順序,獲取優(yōu)化拓?fù)浣Y(jié)構(gòu)的單序列;根據(jù)單序列與模塊集合的映射關(guān)系,獲取優(yōu)化映射的名稱序列。
2.如權(quán)利要求1所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,還包括步驟將單序列解碼成水平關(guān)系圖和垂直關(guān)系圖,并將水平關(guān)系圖和垂直關(guān)系圖轉(zhuǎn)化為上下 左右共四個(gè)鄰接關(guān)系圖。
3.如權(quán)利要求2所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,還包括步驟根據(jù)名稱序列和由單序列確定的水平關(guān)系圖和垂直關(guān)系圖對(duì)序列對(duì)解碼,確定各個(gè)模 塊的位置。
4.如權(quán)利要求3所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,還包括步驟通過比較單序列中整數(shù)元素的大小和整數(shù)元素在單序列中的左右位置確定整數(shù)元素 所對(duì)應(yīng)的模塊的上下左右關(guān)系。
5.如權(quán)利要求4所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,還包括步 驟根據(jù)GXY路由算法確定整個(gè)片上網(wǎng)絡(luò)NoC的路由。
6.如權(quán)利要求5所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,GXY路由算 法的原則為先沿著水平方向路由,再沿著垂直方向路由,直到將信號(hào)傳送到目標(biāo)模塊。
7.如權(quán)利要求5所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,還包括步驟根據(jù)上下左右四個(gè)鄰接關(guān)系圖判斷模塊相鄰。
8.如權(quán)利要求7所述的片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其特征在于,還包括步驟根據(jù)模塊相鄰的判斷結(jié)果確定模塊之間的距離,基于確定的片上網(wǎng)絡(luò)的路由獲取功
全文摘要
本發(fā)明公開了一種片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和映射優(yōu)化方法,其通過兩種繪制方法確定優(yōu)化拓?fù)浣Y(jié)構(gòu)的單序列SS,進(jìn)而通過單序列SS和模塊集合的映射關(guān)系,獲取優(yōu)化映射的名稱序列,因此,本方法可以優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和映射,減小功耗。另外,本發(fā)明采用了GXY路由算法確定整個(gè)片上網(wǎng)絡(luò)NoC的路由,并依據(jù)模擬退火算法進(jìn)行了優(yōu)化,得到了功耗低且面積小的布局結(jié)果。
文檔編號(hào)H04L12/56GK101834780SQ20101010835
公開日2010年9月15日 申請(qǐng)日期2010年1月28日 優(yōu)先權(quán)日2010年1月28日
發(fā)明者徐寧, 鄭飛 申請(qǐng)人:武漢理工大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1