片上網(wǎng)絡(luò)技術(shù)發(fā)展現(xiàn)狀及趨勢淺析
摘要:半導(dǎo)體制造工藝的快速發(fā)展使得片上可以集成更大規(guī)模的硬件資源,片上網(wǎng)絡(luò)的研究試圖解決芯片中全局通信問題,使得從基于計算的設(shè)計轉(zhuǎn)變?yōu)榛谕ㄐ诺脑O(shè)計,并實現(xiàn)可擴展的通信架構(gòu)。本文回顧和總結(jié)了現(xiàn)有NoC研究工作,指出NoC是當(dāng)前片上通信發(fā)展的主流趨勢,并分析了當(dāng)前NoC關(guān)鍵技術(shù)瓶頸,最后預(yù)測了多核的技術(shù)和產(chǎn)業(yè)發(fā)展趨勢。
關(guān)鍵詞:片上網(wǎng)絡(luò)(NoC);存儲結(jié)構(gòu);并行軟件;功耗管理
引言
隨著半導(dǎo)體工藝技術(shù)步入納米階段,在單一芯片中集成上億晶體管已經(jīng)成為現(xiàn)實,據(jù)ITRS(International Technology Roadmap for Semiconductors,國際半導(dǎo)體技術(shù)路線圖)預(yù)測(見表1),到2010年,單個芯片上的晶體管數(shù)目將達(dá)到22億個。如何有效地利用數(shù)目眾多的晶體管是芯片體系結(jié)構(gòu)必須回答的新問題。倘若因循單核的發(fā)展思路,芯片設(shè)計將面臨互連延遲、存儲帶寬、功耗極限等性能提升的瓶頸問題。因此,業(yè)內(nèi)普遍認(rèn)識到,有必要研究新型的芯片體系架構(gòu)以適應(yīng)性能增長和功耗下降同時發(fā)生這樣看似矛盾的需求。多核技術(shù)是一條可行之路。多核能夠用多個低頻率核單元產(chǎn)生超過高頻率單核的處理效能,獲得較佳的性價比。圍繞著多核的一系列技術(shù)問題業(yè)已成為近期芯片業(yè)研究的重點和未來的主要發(fā)展方向。
表1 ITRS預(yù)測表
按照不同的片上互連方式,多核SoC可分為兩大類:傳統(tǒng)的基于總線的互連和基于網(wǎng)絡(luò)的互連。前者是現(xiàn)有SoC的擴展,通過多總線及層次化總線等技術(shù)使得片上集成更多的處理器核,從而實現(xiàn)高復(fù)雜度和高性能;而后者是近些年提出的嶄新的概念,即多處理器核之間采用分組路由的方式進(jìn)行片內(nèi)通信,從而克服了由總線互連所帶來的各種瓶頸問題,這種片內(nèi)通信方式稱為片上網(wǎng)絡(luò)(Network on a Chip,NoC)。
NoC概述
基本概念
NoC是指在單芯片上集成大量的計算資源以及連接這些資源的片上通信網(wǎng)絡(luò),如圖1所示。NoC包括計算和通信兩個子系統(tǒng),計算子系統(tǒng)(圖中由PE,Processing Element構(gòu)成的子系統(tǒng))完成廣義的“計算”任務(wù),PE既可以是現(xiàn)有意義上的CPU、SoC,也可以是各種專用功能的IP核或存儲器陣列、可重構(gòu)硬件等;通信子系統(tǒng)(圖中由Switch組成的子系統(tǒng))負(fù)責(zé)連接PE,實現(xiàn)計算資源之間的高速通信。通信節(jié)點及其間的互連線所構(gòu)成的網(wǎng)絡(luò)被稱為片上通信網(wǎng)絡(luò)(On-Chip Network, OCN)[1-3],它借鑒了分布式計算系統(tǒng)的通信方式,用路由和分組交換技術(shù)替代傳統(tǒng)的片上總線來完成通信任務(wù)。
圖1 典型的NoC結(jié)構(gòu)示意圖
NoC技術(shù)優(yōu)勢分析
基于分組路由方式進(jìn)行片上通信的NoC在片上通信方式、功耗、基于重用的設(shè)計方法學(xué)、解決單一時鐘全局同步等方面都具有優(yōu)越性。
·有利于提高通訊帶寬
總線結(jié)構(gòu)是現(xiàn)有芯片架構(gòu)的通信脈絡(luò),隨著電路規(guī)模越來越大,總線結(jié)構(gòu)將成為芯片設(shè)計的瓶頸:雖然總線可以有效地連接多個通信方,但總線地址資源并不能隨著計算單元的增加而無限擴展;雖然總線可由多用戶共享,但一條總線無法支持一對以上的用戶同時通信,即串行訪問機制導(dǎo)致了通信的瓶頸。此外,片上通信是功耗的主要來源,龐大的時鐘網(wǎng)絡(luò)與總線的功耗將占據(jù)芯片總功耗的絕大部分。
NoC的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)提供了良好的可擴展性;NoC連線網(wǎng)絡(luò)提供了良好的并行通信能力,從而使得通信帶寬增加幾個數(shù)量級;此外,NoC將長的互連線變成交換開關(guān)之間互相連接的短連線,這對功耗控制變得極為有利;另一方面,NoC借鑒了通訊協(xié)議中的分層思想,這就為從物理級到應(yīng)用級的全面功耗控制提供了可能。
·有利于提升重用設(shè)計
總線架構(gòu)可擴展性和可重用性差,為此在芯片計算能力演變時,必須跟隨著處理能力的需求而變更設(shè)計(如更高的內(nèi)存寬度、更高的頻率、更靈活的同步或異步設(shè)計等等),每一代芯片的推出都伴隨著程度不等的設(shè)計變更,這對于開發(fā)人員而言是相當(dāng)大的負(fù)擔(dān)。若是將通信架構(gòu)獨立設(shè)計,并且運用更具彈性的技術(shù),對于縮短設(shè)計周期、減少開發(fā)成本都有不小的幫助。
由于NoC所使用的通信協(xié)議層本身屬于獨立的資源,因此提供了支持高效率可重用設(shè)計方法學(xué)的體系結(jié)構(gòu):現(xiàn)有規(guī)模的SoC可以基于片上通信協(xié)議作為計算節(jié)點“即插即用”于NoC的網(wǎng)絡(luò)節(jié)點;給定的互連拓?fù)浣Y(jié)構(gòu)使得芯片集成可以采用基于片上通信的設(shè)計方法(Communication-based Design,CBD)來完成。通信和計算完全分離的技術(shù)(也就是通信與計算的正交設(shè)計)將重用范圍從計算單元可重用擴展到計算與通信單元皆可重用的層次,從而大大提升了重用設(shè)計的水平。
·有利于解決全局同步的難題
納米工藝所帶來的各種物理效應(yīng)使得片上全局同步越來越困難。當(dāng)采用50nm工藝,時鐘頻率為10GHz時,全局線延遲將達(dá)6~10個時鐘周期,時鐘偏斜(Skew)變得難以控制,而時鐘樹又是影響芯片功耗和成本的一個主要因素。這些問題,隨著集成器件尺寸越來越小,時鐘頻率越來越高,將變得越來越突出。
NoC的片內(nèi)網(wǎng)絡(luò)通信方式,資源之間的短線互連和天然的全局異步局部同步(GALS)時鐘策略等特性是解決這些問題有效途徑。
總而言之,研究NoC設(shè)計方法和設(shè)計技術(shù)是滿足納米工藝條件下高集成度芯片發(fā)展的必然需求。
NoC設(shè)計空間
完整的NoC設(shè)計方法學(xué)包括很多方面的問題,它們對NoC的發(fā)展都是至關(guān)重要的,且已經(jīng)引起了學(xué)術(shù)界的廣泛研究。Carnegie Mellon大學(xué)的U.Y. Ogras等人在文獻(xiàn)[4]中提出了NoC設(shè)計空間的概念并將NoC研究歸納為三大類關(guān)鍵問題:基礎(chǔ)架構(gòu)、通訊機制和映射優(yōu)化,如圖2所示。
圖2 NoC設(shè)計空間示意圖
圖中,“Hard NoC”(網(wǎng)格部分)指基本架構(gòu)確定,各PE節(jié)點的內(nèi)容也固定的一類NoC結(jié)構(gòu),其設(shè)計空間只是圖中一矩形部分,設(shè)計余度最??;“Firm NoC”(灰色陰影空間)指其基本架構(gòu)已確定,網(wǎng)絡(luò)通道寬度與通訊節(jié)點緩存大小不確定,其他維度對設(shè)計者完全自由的一類NoC結(jié)構(gòu),設(shè)計者可以根據(jù)確定的應(yīng)用實現(xiàn)最優(yōu)的布圖規(guī)劃、通訊調(diào)度與任務(wù)分配算法、IP映射算法和路由交換解決方案,設(shè)計空間比較靈活;“Soft NoC”(白色立方體部分)指設(shè)計者需要根據(jù)應(yīng)用來優(yōu)化NoC設(shè)計空間的所有問題,設(shè)計靈活性最高,但設(shè)計難度和工作量也相應(yīng)最大。
設(shè)計者根據(jù)給定的具體應(yīng)用,依據(jù)應(yīng)用特征圖(Application Characterization Graph,APCG),在時間、成本、技術(shù)儲備等約束條件下,首先按應(yīng)用選擇基于哪類NoC開展設(shè)計;其次在該類NoC的設(shè)計空間范圍內(nèi)解決相應(yīng)關(guān)鍵問題,以探索最優(yōu)的NoC實現(xiàn)方案。
NoC關(guān)鍵技術(shù)難點
NoC關(guān)鍵技術(shù)主要包括系統(tǒng)建模、拓?fù)浣Y(jié)構(gòu)、路由方法、交換方法、緩存策略、服務(wù)質(zhì)量和映射優(yōu)化等,近年來都不同程度地取得研究進(jìn)展,而阻礙NoC走向大規(guī)模應(yīng)用的瓶頸在于以下幾方面:
存儲結(jié)構(gòu)問題
Memory是NoC中十分重要的組件,在現(xiàn)有的片上多處理器系統(tǒng)中,存儲器占到70%的芯片面積,并且在不久的將來會上升到90%[5];而從能耗的角度來看,存儲器所引入的功耗也可達(dá)系統(tǒng)功耗的90%[6],這對芯片的散熱、封裝和可靠性等都帶來了嚴(yán)重的問題;NoC系統(tǒng)需要大量的存儲元件,并被組織成復(fù)雜的存儲子系統(tǒng)(memory subsystem),這個存儲子系統(tǒng)將支持NoC的并行數(shù)據(jù)存儲、傳輸及交換。NoC中大量的存儲資源必將占用多個路由節(jié)點,且由于處理單元與存儲資源之間的數(shù)據(jù)交換非常頻繁,若在數(shù)據(jù)包傳輸路徑上路由節(jié)點數(shù)目過多,會帶來很大的通信延時。如何有效縮短源節(jié)點到目的節(jié)點間的距離對提高整個NoC系統(tǒng)性能十分關(guān)鍵。
再者,從通信帶寬的角度,隨著工藝的進(jìn)步,計算訪存比進(jìn)一步增大,意味著基于該結(jié)構(gòu)獲得接近峰值性能的應(yīng)用算法越少。這就引入了一系列問題,如何讓眾多處理器核有足夠的數(shù)據(jù)可算?如何更充分地利用片上有限存儲空間實現(xiàn)核間共享,以避免片外訪存?如何充分利用有限訪存帶寬,盡量讓訪存通道優(yōu)先滿足處于關(guān)鍵路徑處理器核的訪問請求?最近美國Sandia國家實驗室提出在多核處理器芯片上堆疊存儲芯片,來解決帶寬增長不足的問題,這或許是一種可行的方案。
總而言之,片上存儲結(jié)構(gòu)已經(jīng)成為影響NoC性能的關(guān)鍵因素之一。
軟件并行化問題
未來的基于多核的高性能處理芯片可能會遇到很多傳統(tǒng)的串行程序自動并行化方法較難實施的應(yīng)用。如果不能有效地利用NoC片上并行處理資源,則并行計算的實際性能將會很低,因此如何通過有效的方法和模型,充分地利用NoC的眾多處理單元,并極大地降低應(yīng)用的開發(fā)難度,便成為迫切需要解決的問題。
與并行計算機發(fā)展過程中遇到的問題相類似,NoC并行處理體系結(jié)構(gòu)所面臨的主要問題是如何將應(yīng)用中蘊含的不同層次、不同粒度的并行性有效地提取出來并映射到多核的并行硬件結(jié)構(gòu)上去。這一問題的解決涉及包括程序設(shè)計模型、程序設(shè)計語言、編譯系統(tǒng)及硬件支撐等在內(nèi)的多個方面。
總體來說,開發(fā)并行程序可以有三種途徑,一是串行程序自動并行化。這條路目前尚未走通,更為實際的目標(biāo)應(yīng)為人機交互的自動并行化;二是設(shè)計全新的并行程序設(shè)計語言。這種方法的缺點是需要全部改寫原有程序,對用戶來說成本和風(fēng)險也很高,且效率不能保證。但是,隨著多核的出現(xiàn),若面向大眾推廣并行計算環(huán)境,就必須有一種新的容易被接受的程序設(shè)計語言。目前國際上正在研究的新興并行程序設(shè)計語言如IBM的X10、UPC(統(tǒng)一并行 C語言,C語言的擴展)和Titanmin(Java的擴展)等;第三條途徑就是串行語言加并行庫或偽注釋制導(dǎo)語句的擴展,也即增加一個庫或一些新的制導(dǎo)語句來幫助進(jìn)行消息傳遞和并行。這正是MPI和OpenMP所采取的途徑,也是目前比較容易被接受且性能較高的途徑。但其程序開發(fā)效率很低,難度也比較大[7]。
功耗管理問題
雖然NoC有助于提高芯片的能效(Energy-Efficiency),但不能忽視,由于多核系統(tǒng)片上集成規(guī)模的大幅度增加,功耗問題依然突出。如何在NoC設(shè)計中提高能效,對眾多計算資源進(jìn)行調(diào)度管理以最大限度降低功耗依然是NoC設(shè)計所面臨的重要問題之一。
從體系結(jié)構(gòu)角度看,NoC主要包括處理器核、核間互連以及片上存儲三個主要部分。NoC的低功耗研究可以圍繞功耗評估,處理器核功耗優(yōu)化,片上網(wǎng)絡(luò)功耗優(yōu)化以及片上存儲功耗優(yōu)化這四個方面對各部分展開,其中功耗評估是NoC低功耗設(shè)計的基礎(chǔ)。
功耗是導(dǎo)致包括NoC在內(nèi)的多核技術(shù)出現(xiàn)的重要誘因,也是片上多處理器設(shè)計的重要制約因素。對于NoC的不同設(shè)計模塊和設(shè)計層次,都存在行之有效的降低功耗的方法,而這些方法又可能是互相牽制,互相影響的。因此需要貫穿NoC體系結(jié)構(gòu)到電路工藝的各方面的豐富知識,才能在設(shè)計早期做出正確的多核架構(gòu)的選擇[8]。一般而言,從越高的設(shè)計抽象層次入手考慮低功耗設(shè)計問題,則可獲得的降低功耗的效率就越大。
NoC發(fā)展趨勢
技術(shù)發(fā)展趨勢
·向?qū)哟位姾朔较虬l(fā)展
微軟公司2007年6月在美國西雅圖召開了第一個以ManyCore(眾核)為主題的研討會(Workshop),標(biāo)志著眾核設(shè)計已經(jīng)成為技術(shù)發(fā)展的趨勢和學(xué)術(shù)研究的熱點。
集成電路設(shè)計總是想方設(shè)法把現(xiàn)有的各種電子電路乃至計算系統(tǒng)集成到單一芯片上,因此計算機體系結(jié)構(gòu)歷來是集成電路片上系統(tǒng)架構(gòu)的參考體系。超級計算機是最強大的計算機,充分參考超級計算機的體系結(jié)構(gòu)是設(shè)計多核處理器的基本思路。超級計算機體系架構(gòu)的基本特征就是小核大陣列和層次化管理。無論是世界排名第一的Roadrunner(122400個核),還是排名第二的BlueGene/L(212992個核),如圖3所示,都是采用高性能、層次化、可擴展的巨大陣列,連接數(shù)目眾多的普通微處理器(小核)來保障最優(yōu)的性能。超級計算機告訴我們,小核大陣列和層次化管理必將成為眾核處理器的主流技術(shù)發(fā)展方向。
圖3 BlueGene/L的層次化陣列結(jié)構(gòu)
·向三維NoC方向發(fā)展
ITRS 2007年版闡述了More Moore(延伸摩爾定律)和More than Moore(超越摩爾定律)兩個概念,如圖4所示,其中延伸摩爾定律是按照等比例縮小繼續(xù)走微細(xì)化的道路,而超越摩爾定律追求的是功能多樣化,并指出下一代SoC(NoC)與SiP技術(shù)融合的發(fā)展趨勢。
圖4 ITRS 2007年版摩爾定律詮釋圖
正如ITRS所預(yù)測,在工藝技術(shù)發(fā)展和設(shè)計技術(shù)需求的雙重驅(qū)動下,三維集成(又稱為系統(tǒng)級封裝,SiP)技術(shù)愈來愈受到學(xué)術(shù)界和工業(yè)界的關(guān)注和重視。NoC雖然克服了全局延遲過長帶來的信號完整性及全局同步等一系列問題,但并沒有在根本上解決縮短物理連線,減小信號時延的問題。由于二維 NoC布局條件的限制,難以保證關(guān)鍵部件相鄰以縮短關(guān)鍵路徑長度,而三維集成技術(shù)可把不同的器件層堆疊起來,不僅在真正意義上縮短了連線的長度,并克服這種布局的限制。因此把NoC和三維集成這兩種設(shè)計技術(shù)融合起來的三維 NoC就顯得自然且引人。
三維NoC是在單個芯片上將資源節(jié)點(Resource)分布在不同的物理層上,并用三維立體架構(gòu)實現(xiàn)資源間的互連,以構(gòu)建高帶寬、低延時、低功耗的NoC系統(tǒng)。典型的三維Mesh結(jié)構(gòu)NoC如圖5所示。三維 NoC是一個嶄新的研究話題,近兩年才在國際上被提出(最早一篇相關(guān)研究論文于2005年公開發(fā)表[9])。目前從事該領(lǐng)域研究的學(xué)術(shù)機構(gòu)包括美國斯坦福大學(xué)、加州理工大學(xué)、賓州州立大學(xué)、華盛頓州立大學(xué),瑞典皇家工學(xué)院、日本的Keio University,加拿大的不列顛哥倫比亞大學(xué),以及Intel、Toshiba等大公司的研究中心??梢姡SNoC已經(jīng)引起了國際上學(xué)術(shù)界和產(chǎn)業(yè)界的注意,很可能在未來幾年內(nèi)發(fā)展成為一個重要的研究領(lǐng)域,并得到廣泛的關(guān)注。
圖5 三維NoC示意圖
產(chǎn)業(yè)發(fā)展趨勢
多核技術(shù)在產(chǎn)業(yè)界已有廣泛應(yīng)用。從Intel、AMD、SUN、CISCO等國際老牌企業(yè),到PicoChip(2000年成立)、Ambric(2003年成立)、Tilera(2004年成立)等新興公司,多核產(chǎn)品層出不窮;從超級計算機到PC機,從路由器等寬帶應(yīng)用到多媒體等嵌入式市場,多核產(chǎn)品逐漸廣為人知。
圖6 多核技術(shù)市場容量圖(來自VDC Research)
VDC Research于2007年發(fā)表了《多核計算的嵌入式應(yīng)用:全球市場機會與需求分析》。報告分析了多核技術(shù)從2006年到2011年的市場需求走勢,如圖6所示。圖中的縱軸是以2006年總值為單位1,其他年份與2006年相比多核產(chǎn)品市場總額的倍數(shù)關(guān)系。研究表明,多核技術(shù)到2011年,嵌入式應(yīng)用領(lǐng)域的市場總額將超過2007年的6倍,超過2006的44倍。如此快速的增長速度決定了我國不應(yīng)該介入太晚,否則就只能再次走“產(chǎn)品跟蹤”的老路。
結(jié)語
包括NoC在內(nèi)的多核技術(shù)是通用處理器技術(shù)升級的大方向已成為業(yè)內(nèi)共識。多核技術(shù)是當(dāng)代集成電路設(shè)計的戰(zhàn)略性技術(shù),它以很低的功率消耗、較強的并行處理以及優(yōu)異的計算性能,征服了人們對集成電路性能的追求,“成為業(yè)界的重要里程碑”(Intel總裁語)。
先進(jìn)的NoC結(jié)構(gòu)可以通過集成現(xiàn)有的百兆頻率核形成高性能多核處理器,大大降低了技術(shù)門檻,為中等設(shè)計公司帶來了機會,目前已有一批中等公司和新興公司在多核領(lǐng)域嶄露頭角,“國際寡頭”壟斷高性能處理器的格局正在發(fā)生變化。對我國現(xiàn)有設(shè)計能力而言,即使不能“一步登天”,但完全可以做到“所想即所得”,這亦為我國發(fā)展自主產(chǎn)權(quán)的高性能處理器產(chǎn)業(yè)提供了寶貴的契機。
參考文獻(xiàn):
[1] Benini L,De Micheli G. Networks on chips: a new SoC paradigm[J]. IEEE Computer, Volume 35, pp. 70--78, January 2002
[2] Jantsch A, Tenhunen H. Networks on Chip[M]. Kluwer Academic Publishers, 2003
[3] Millberg M,Nilsson E, Thid R,Kumar S,Jantsch A.The Nostrum backbone-a communication protocol stack for networks on chip[R]. Proceedings of the VLSI Design Conference, January 2004
[4] Ogras U, Hu J, Marculescu R.Key Research Problems in NoC Design: A Holistic Perspective[J] Proc. Hardware-Software Co-Design and System Synthesis, (CODES+ISSS), September, 2005
[5] Pasricha S, Dutt N D. A Framework for Cosynthesis of Memory and Communication Architectures for MPSoC[C]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Volume 26,?Issue 3,?March 2007 Page(s):408 – 420
[6] Kandemir M, Dutt N. Memory Systems and Compiler Support for MPSoC Architectures[J], Multiprocessor Systems-on-Chips, 2005P 251-281
[7] 張云泉.多核時代對軟件設(shè)計的挑戰(zhàn)[J].計算機世界報第23期,2007.6.18
[8] 張戈,張量,楊榮秋.納米級工藝下多處理器功耗評估與優(yōu)化技術(shù)[J].中國集成電路,2008年17卷7
[9] Liu C, Chen J H, Manohar R, Tiwari S. Mapping system-on-chip designs from 2-D to 3-D ICs [C]. IEEE International Symposium on Circuits and Systems, 2005. ISCAS 2005, 23-26 May 2005 Page(s):2939 - 2942 Vol. 3
c語言相關(guān)文章:c語言教程
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論