專利名稱:基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種層次化片上網(wǎng)絡(luò)(Network on chip,NoC)架構(gòu)及其分布式存儲方 案,具體地說是一種能改善NoC通信瓶頸問題并提高其整體訪存能力的系統(tǒng)架構(gòu)及分布式 存儲方案。
背景技術(shù):
隨著半導(dǎo)體工藝技術(shù)的快速發(fā)展,微電子技術(shù)從集成電路antegrated Circuits, IC)設(shè)計向系統(tǒng)芯片(System on a chip, SoC)設(shè)計飛速轉(zhuǎn)變著。然而隨著工 藝技術(shù)的持續(xù)發(fā)展,出現(xiàn)了一些與SoC自身特征相關(guān)的問題,且這類問題在SoC傳統(tǒng)架構(gòu)下 難以解決?;诖饲樾?,NoC概念在1999年左右被提出。其核心思想是計算單元與通信架 構(gòu)相互分離,而其通信部分則借鑒了計算機網(wǎng)絡(luò)技術(shù),并將其移植到集成電路設(shè)計中來,這 樣便可以從體系結(jié)構(gòu)上解決片上通信的瓶頸問題。由上述內(nèi)容不難看出,NoC的核心問題即通信架構(gòu)設(shè)計問題。圖1為現(xiàn)有NoC 結(jié)構(gòu)示意圖;圖2為圖1中路由節(jié)點結(jié)構(gòu)示意圖。以二維網(wǎng)格架構(gòu)為例,NoC的基本結(jié)構(gòu) 都是由資源節(jié)點(Resource)、路由節(jié)點(Router)、通道(Channel)和網(wǎng)絡(luò)接口 (Network Interface, NI)組成的,而通訊節(jié)點本身則由若干對輸入、輸出通道組成。近年來,各研究 小組先后提出了各種NoC拓?fù)浼軜?gòu),如蜂窩架構(gòu)、二維折疊環(huán)架構(gòu)等等。由NoC拓?fù)浣Y(jié)構(gòu)的幾何特點,我們不難看出,在核數(shù)眾多的情況下,NoC架構(gòu)相較 于傳統(tǒng)總線架構(gòu),優(yōu)勢極為明顯,各核之間并發(fā)訪存能力得以大幅提高。然而,如果核數(shù)較 少,那么由于各核之間通訊需要經(jīng)過Ni、Router等中間模塊,其通信效率顯然不如基于時 分復(fù)用技術(shù)的傳統(tǒng)總線架構(gòu)多核互連方案。實際應(yīng)用中,往往局部各核之間通信頻繁,而系統(tǒng)整體的訪存需求也希望盡可能 提高并發(fā)訪問能力,現(xiàn)有的層次化片上網(wǎng)絡(luò)結(jié)構(gòu)已不能滿足要求。
發(fā)明內(nèi)容
為了有效提高NoC通信能力,增加通信效率,進(jìn)而整體提升NoC系統(tǒng)性能,本發(fā)明 的目的是提供一種基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu)。該網(wǎng)絡(luò)架構(gòu)將片上多核系 統(tǒng)劃分為多個層次,采用層次化總線及網(wǎng)絡(luò)架構(gòu)混合互連方式構(gòu)建整個NoC通信系統(tǒng),網(wǎng) 絡(luò)和總線之間則通過網(wǎng)絡(luò)接口連接,同時將存儲單元也劃分到各個層次,可以有效提高系 統(tǒng)通信性能,緩解訪存壓力,改善片上網(wǎng)絡(luò)整體通訊性能。本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的
一種基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu),其特征在于該層次化片上網(wǎng)絡(luò)架 構(gòu)頂層采用二維網(wǎng)格架構(gòu)集成運算簇及全局共享存儲單元;在運算簇內(nèi)部采用由簇內(nèi)總線 和私有總線構(gòu)成的層次化總線架構(gòu),且簇內(nèi)總線和私有總線通過總線橋通訊;所述簇內(nèi)總 線上集成網(wǎng)絡(luò)接口和簇內(nèi)共享存儲單元;所述私有總線上集成私有存儲單元和處理器核。本發(fā)明中,運算簇內(nèi)部使用總線協(xié)議,二維網(wǎng)格架構(gòu)使用網(wǎng)絡(luò)包交換協(xié)議,兩種協(xié)議之間通過網(wǎng)絡(luò)接口完成相互轉(zhuǎn)換。本發(fā)明中存儲系統(tǒng)分為三級單核私有存儲單元,簇內(nèi)共享存儲單元和全局共享 存儲單元。私有總線上的私有存儲單元只能被該私有總線上的處理器核訪問,即單核內(nèi)的 私有存儲單元只能被該單核自身訪問;簇內(nèi)共享存儲單元只能被該簇內(nèi)的處理器核訪問, 即簇間共享存儲單元只能被該簇內(nèi)各核訪問;全局共享存儲單元則能夠被運算簇中的全部 處理器核訪問,即全局共享存儲單元則能夠被所有運算簇中所有核訪問。本發(fā)明將片上多核系統(tǒng)劃分為多個層次,采用層次化總線及網(wǎng)絡(luò)架構(gòu)混合互連方 式構(gòu)建整個NoC通信系統(tǒng),層間則通過網(wǎng)絡(luò)接口連接,同時將存儲單元也劃分到各個層次。本發(fā)明依據(jù)通信密集度的不同,將片上多核劃分為若干簇(Cluster),簇內(nèi)各核通 信較為頻繁,而簇間通信壓力則相對緩和,因此對簇內(nèi)和簇間通信架構(gòu)予以分別考慮。簇內(nèi)采用層次化總線架構(gòu)連接,如圖3所示(以四核為例)。各簇由若干個核(一般 小于6)及相應(yīng)部件組成,各核擁有自己的私有總線(低層次總線)及私有存儲單元(Private Memory).該私有總線上除配置有標(biāo)準(zhǔn)總線所需要的解碼單元(Decoder)、仲裁單元 (Arbiter)等相關(guān)部件(圖中省略,僅在簇內(nèi)總線處示意)之外,還掛接有總線橋(Bridge), 用以私有總線和簇內(nèi)總線(高層次總線)的連接。簇內(nèi)總線與私有總線類似,除配置有標(biāo)準(zhǔn) 總線所需要的各種相應(yīng)功能模塊之外,還掛接有網(wǎng)絡(luò)接口單元Ni,用以實現(xiàn)簇與上層網(wǎng)絡(luò) 之間的連接。簇間互連則采用NoC常見的網(wǎng)絡(luò)架構(gòu),如圖4所示(以二維網(wǎng)格架構(gòu)為例),由本地 子系統(tǒng)、路由節(jié)點及通道組成。其中本地系統(tǒng)(Local SyStem,LS)包括兩種類型,一是運算 簇架構(gòu),二是全局共享存儲單元,兩者均通過各自的網(wǎng)絡(luò)接口連接到路由節(jié)點,進(jìn)而構(gòu)成全 局網(wǎng)絡(luò)架構(gòu)。由于訪存問題一直是NoC系統(tǒng)的瓶頸問題,基于上述架構(gòu),這里采用層次化存儲 分布方案,將存儲單元劃分為三個層次,即私有存儲單元、簇內(nèi)共享存儲單元和全局共享存 儲單元。其中,私有存儲單元位于私有總線上,能且僅能被和其位于同一私有總線上的核 訪問,由于各核分別擁有各自的私有總線及私有存儲單元,各核可以同時對其進(jìn)行訪問,且 由于訪問過程局限在私有總線內(nèi),因此速度很快。而在實際應(yīng)用當(dāng)中,各核對私有存儲的訪 問又是最為頻繁的,所以這一方案可以大幅提升其訪問能力。簇間共享存儲單元掛接在簇內(nèi)總線上,可以被簇內(nèi)所有核訪問。當(dāng)簇內(nèi)各核需要 訪問該存儲單元時,需要通過總線橋來完成訪問過程,但由于訪問僅局限在簇內(nèi),且每個簇 集成的核數(shù)有限,因此其訪問速度也相對較快。同時由于各簇相對獨立,因此各簇中的核可 以并行訪問簇內(nèi)共享存儲單元。考慮到實際應(yīng)用中,通信密集度較高的核將被盡可能劃分 在同一簇內(nèi),因此該方案可以明顯提升簇內(nèi)核間數(shù)據(jù)交互能力。全局共享存儲單元作為本地系統(tǒng)的一種,直接通過為其單獨配置的NI連接到路 由節(jié)點,可被片上所有核訪問。當(dāng)各核需要訪問該存儲單元時,需要先后通過私有總線、總 線橋、簇內(nèi)總線、Ni、多個路由節(jié)點及路由節(jié)點間的通道,因此訪問速度相對較慢。但實際應(yīng) 用中,簇間數(shù)據(jù)交互往往相對較少,且由于網(wǎng)絡(luò)架構(gòu)中路由方法的靈活性,各簇可以同時對 位于不同網(wǎng)路節(jié)點位置的全局共享存儲單元進(jìn)行訪問,因此該方案仍然保持了 NoC網(wǎng)絡(luò)架 構(gòu)的靈活性和通用性。
本發(fā)明面向NoC的通信架構(gòu),結(jié)合實際應(yīng)用中常見的局部通信密集的特點,是一 種層次化總線、網(wǎng)絡(luò)結(jié)構(gòu)混合互聯(lián)的NoC架構(gòu),且基于該架構(gòu)采用了一種層次化存儲分布方案。本發(fā)明的有益效果是充分發(fā)揮層次化總線及網(wǎng)絡(luò)架構(gòu)各自優(yōu)勢,提高NoC通信 能力,緩解訪存瓶頸問題,很大程度上改善NoC系統(tǒng)整體性能。本發(fā)明可以有效提高系統(tǒng)通信性能,緩解訪存壓力,對改善片上網(wǎng)絡(luò)整體通訊性 能有著積極良好的應(yīng)用價值。
圖1為現(xiàn)有NoC結(jié)構(gòu)示意圖; 圖2為圖1中路由節(jié)點結(jié)構(gòu)示意圖; 圖3是本發(fā)明的架構(gòu)示意圖4是二維網(wǎng)格網(wǎng)絡(luò)架構(gòu)示意圖; 圖5是非層次化NoC系統(tǒng)簇架構(gòu)示意圖; 圖6是H3MP-16系統(tǒng)應(yīng)用演示示意圖; 圖7是H3MP-16系統(tǒng)整體架構(gòu)示意圖; 圖8是H3MP-16系統(tǒng)簇架構(gòu)示意圖9是非層次化NoC系統(tǒng)和層次化NoC系統(tǒng)采用循環(huán)分行法完成矩陣求逆各自所需的 執(zhí)行時間對比圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明層次化片上網(wǎng)絡(luò)架構(gòu)進(jìn)行詳細(xì)的說明。一種本發(fā)明所述的基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu),見圖3、圖4和圖 5。其中圖3是圖3是本發(fā)明的架構(gòu)示意圖;圖4是二維網(wǎng)格網(wǎng)絡(luò)架構(gòu)示意圖;圖5是非 層次化NoC系統(tǒng)簇架構(gòu)示意圖。該網(wǎng)絡(luò)架構(gòu)將片上多核系統(tǒng)劃分為多個層次,采用層次化 總線及網(wǎng)絡(luò)架構(gòu)混合互連方式構(gòu)建整個NoC通信系統(tǒng),總線和網(wǎng)絡(luò)之間則通過網(wǎng)絡(luò)接口連 接,同時將存儲單元也劃分到各個層次。該架構(gòu)中,采用二維網(wǎng)格架構(gòu)集成運算簇及全局共 享存儲單元。運算簇內(nèi)部采用層次化總線架構(gòu)——簇內(nèi)總線和私有總線,二者通過總線橋 通訊;其中簇內(nèi)總線上集成網(wǎng)絡(luò)接口和簇內(nèi)共享存儲單元;私有總線上集成私有存儲單元 和處理器核。故本架構(gòu)中存儲系統(tǒng)分為三級單核私有存儲單元,簇內(nèi)共享存儲單元和全局 共享存儲單元。其中,單核內(nèi)的私有存儲單元只能被該單核自身訪問,簇間共享存儲單元只 能被該簇內(nèi)各核訪問,全局共享存儲單元則能夠被所有運算簇中的所有核訪問。為實現(xiàn)包轉(zhuǎn)發(fā)和流媒體處理的功能,設(shè)計了一款單片集成16核的NoC原型演示系 統(tǒng)(H3MP-16)。該系統(tǒng)由4臺帶IG網(wǎng)絡(luò)接口的高分辨顯示(1600*1200) PC和1款含4個 IG網(wǎng)絡(luò)接口的FPGA系統(tǒng)組成,如圖6所示。該系統(tǒng)的主要功能是通過四個千兆網(wǎng)口,同時接收4臺PC以準(zhǔn)同步方式將各自 流媒體解壓后的以太網(wǎng)數(shù)據(jù)包,然后在系統(tǒng)內(nèi)部經(jīng)過處理后,完成本地影像源與其他任意 一臺PC中影像源的疊加運算,并將結(jié)果重新封裝成以太網(wǎng)包,交由本地PC端播放。該系統(tǒng) 最終可以同時實現(xiàn)對四幅影像的淡入淡出(Fade-in-Fade-out)效果。
具體而言,該應(yīng)用演示系統(tǒng)采用二維網(wǎng)格結(jié)構(gòu)和層次化總線的混合架構(gòu),并采用 層次化存儲分布方案,以滿足系統(tǒng)對訪存能力的巨大需求。其系統(tǒng)架構(gòu)示意圖如圖7所示。首先,根據(jù)通信密集度的不同,對H3MP-16采用層次化系統(tǒng)架構(gòu),頂層采用3*3的 二維網(wǎng)格結(jié)構(gòu),底層為集成4個核的處理單元(即上述討論的簇)。各網(wǎng)絡(luò)節(jié)點采用專門針 對片上網(wǎng)絡(luò)通信特點而設(shè)計的包-電路交換路由器,可以保證各簇之間大量數(shù)據(jù)的快速傳 輸。除基本計算和通訊單元外,該系統(tǒng)還集成了 4組千兆網(wǎng)絡(luò)接口(最高吞吐率可達(dá) 8Gbps),1組DDR II接口,1組PCI接口和1組Flash接口,上述所有接口均通過各自的NI 鏈接到路由節(jié)點,進(jìn)而構(gòu)成完整的片上網(wǎng)絡(luò)通信架構(gòu)。其次,對于各簇而言,其內(nèi)部架構(gòu)如圖8所示。每簇集成4個32位RISC核,同時 每核集成數(shù)據(jù)存儲單元和指令存儲單元。同時,在簇內(nèi)總線上還掛接了一個大小為64K的 包緩存單元(即簇內(nèi)共享存儲單元),為了進(jìn)一步提高簇內(nèi)數(shù)據(jù)共享能力,簇內(nèi)總線上集成 了一個高速的直接內(nèi)存訪問單元(DMA),并為其設(shè)置了專用數(shù)據(jù)通道。同時,在簇內(nèi)總線上 還集成有網(wǎng)絡(luò)接口單元,用以簇內(nèi)各核和片上其他單元之間的數(shù)據(jù)交互。H3MP-16應(yīng)用演示系統(tǒng)最終在Xilinx公司的FPGA上實現(xiàn)(XC5VLX330T),可實時 完成4幅分辨率為720*480,幀率為30幀/s影像的淡入淡出效果。效果實施例1
為驗證本發(fā)明提出的層次化NoC架構(gòu)及其分布式存儲方案的優(yōu)勢,搭建了基于 SystemC語言的周期精確系統(tǒng)級仿真平臺。該平臺采用如圖4所示的二維網(wǎng)格架構(gòu),簇內(nèi)則 先后采用如圖3所示的層次化架構(gòu)及如圖5所示的非層次化架構(gòu)予以實現(xiàn)。為了體現(xiàn)本發(fā)明的優(yōu)勢,選擇了數(shù)字信號處理中常見的矩陣求逆運算為例,對階 數(shù)不同的矩陣采用循環(huán)分行法進(jìn)行并行化處理。各簇采用四個核,由兩簇共同完成對放置 于全局共享存儲單元中的矩陣的求逆過程,并在完成后將運算結(jié)果寫回。運行結(jié)果如圖9所示。由圖可知,采用本發(fā)明提出的層次化NoC架構(gòu)可以提升運行 效率,縮短執(zhí)行時間,雖然由于矩陣階數(shù)的變化而導(dǎo)致其優(yōu)化程度有所變化,但總體而言, 層次化架構(gòu)在各種情形下均大幅提升了系統(tǒng)性能。本發(fā)明可以有效提高系統(tǒng)通信性能,緩解訪存壓力,對改善片上網(wǎng)絡(luò)整體通訊性 能有著積極良好的應(yīng)用價值。
權(quán)利要求
1.一種基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu),其特征在于該層次化片上網(wǎng)絡(luò) 架構(gòu)頂層采用二維網(wǎng)格架構(gòu)集成運算簇及全局共享存儲單元;在運算簇內(nèi)部采用由簇內(nèi)總 線和私有總線構(gòu)成的層次化總線架構(gòu),且簇內(nèi)總線和私有總線通過總線橋通訊;所述簇內(nèi) 總線上集成網(wǎng)絡(luò)接口和簇內(nèi)共享存儲單元;所述私有總線上集成私有存儲單元和處理器 核。
2.根據(jù)權(quán)利要求1所述的基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu),其特征在于 運算簇內(nèi)部使用總線協(xié)議,二維網(wǎng)格架構(gòu)使用網(wǎng)絡(luò)包交換協(xié)議,兩種協(xié)議之間通過網(wǎng)絡(luò)接 口完成相互轉(zhuǎn)換。
3.根據(jù)權(quán)利要求1所述的基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu),其特征在于 私有總線上的私有存儲單元只能被該私有總線上的處理器核訪問;簇內(nèi)共享存儲單元只能 被該簇內(nèi)的處理器核訪問;全局共享存儲單元則能夠被運算簇中的全部處理器核訪問。
全文摘要
本發(fā)明公開了一種基于分布式存儲單元的層次化片上網(wǎng)絡(luò)架構(gòu),該層次化片上網(wǎng)絡(luò)架構(gòu)頂層采用二維網(wǎng)格架構(gòu)集成運算簇及全局共享存儲單元;在運算簇內(nèi)部采用由簇內(nèi)總線和私有總線構(gòu)成的層次化總線架構(gòu),且簇內(nèi)總線和私有總線通過總線橋通訊;所述簇內(nèi)總線上集成網(wǎng)絡(luò)接口和簇內(nèi)共享存儲單元;所述私有總線上集成私有存儲單元和處理器核。本發(fā)明中存儲系統(tǒng)分為三級單核私有存儲單元,簇內(nèi)共享存儲單元和全局共享存儲單元。本發(fā)明采用層次化總線及網(wǎng)絡(luò)架構(gòu)混合互連方式構(gòu)建整個NoC通信系統(tǒng),同時將存儲單元也劃分到各個層次,有效提高系統(tǒng)通信性能,緩解訪存壓力,改善片上網(wǎng)絡(luò)整體通訊性能。
文檔編號H04L29/08GK102075578SQ20111002169
公開日2011年5月25日 申請日期2011年1月19日 優(yōu)先權(quán)日2011年1月19日
發(fā)明者何書專, 何凱, 孫敏敏, 李麗, 李偉, 沙金, 潘紅兵, 王佳文, 鄭維山 申請人:南京大學(xué)