片上網(wǎng)絡(luò)(NoC)技術(shù)發(fā)展現(xiàn)狀及趨勢(shì)淺析
引言
隨著半導(dǎo)體工藝技術(shù)步入納米階段,在單一芯片中集成上億晶體管已經(jīng)成為現(xiàn)實(shí),據(jù)ITRS(International Technology Roadmap for Semiconductors,國(guó)際半導(dǎo)體技術(shù)路線圖)預(yù)測(cè)(見表1),到2010年,單個(gè)芯片上的晶體管數(shù)目將達(dá)到22億個(gè)。如何有效地利用數(shù)目眾多的晶體管是芯片體系結(jié)構(gòu)必須回答的新問(wèn)題。倘若因循單核的發(fā)展思路,芯片設(shè)計(jì)將面臨互連延遲、存儲(chǔ)帶寬、功耗極限等性能提升的瓶頸問(wèn)題。因此,業(yè)內(nèi)普遍認(rèn)識(shí)到,有必要研究新型的芯片體系架構(gòu)以適應(yīng)性能增長(zhǎng)和功耗下降同時(shí)發(fā)生這樣看似矛盾的需求。多核技術(shù)是一條可行之路。多核能夠用多個(gè)低頻率核單元產(chǎn)生超過(guò)高頻率單核的處理效能,獲得較佳的性價(jià)比。圍繞著多核的一系列技術(shù)問(wèn)題業(yè)已成為近期芯片業(yè)研究的重點(diǎn)和未來(lái)的主要發(fā)展方向。
表1 ITRS預(yù)測(cè)表
按照不同的片上互連方式,多核SoC可分為兩大類:傳統(tǒng)的基于總線的互連和基于網(wǎng)絡(luò)的互連。前者是現(xiàn)有SoC的擴(kuò)展,通過(guò)多總線及層次化總線等技術(shù)使得片上集成更多的處理器核,從而實(shí)現(xiàn)高復(fù)雜度和高性能;而后者是近些年提出的嶄新的概念,即多處理器核之間采用分組路由的方式進(jìn)行片內(nèi)通信,從而克服了由總線互連所帶來(lái)的各種瓶頸問(wèn)題,這種片內(nèi)通信方式稱為片上網(wǎng)絡(luò)(Network on a Chip,NoC)。
NoC概述
基本概念
NoC是指在單芯片上集成大量的計(jì)算資源以及連接這些資源的片上通信網(wǎng)絡(luò),如圖1所示。NoC包括計(jì)算和通信兩個(gè)子系統(tǒng),計(jì)算子系統(tǒng)(圖中由PE,Processing Element構(gòu)成的子系統(tǒng))完成廣義的“計(jì)算”任務(wù),PE既可以是現(xiàn)有意義上的CPU、SoC,也可以是各種專用功能的IP核或存儲(chǔ)器陣列、可重構(gòu)硬件等;通信子系統(tǒng)(圖中由Switch組成的子系統(tǒng))負(fù)責(zé)連接PE,實(shí)現(xiàn)計(jì)算資源之間的高速通信。通信節(jié)點(diǎn)及其間的互連線所構(gòu)成的網(wǎng)絡(luò)被稱為片上通信網(wǎng)絡(luò)(On-Chip Network, OCN)[1-3],它借鑒了分布式計(jì)算系統(tǒng)的通信方式,用路由和分組交換技術(shù)替代傳統(tǒng)的片上總線來(lái)完成通信任務(wù)。
圖1 典型的NoC結(jié)構(gòu)示意圖
NoC技術(shù)優(yōu)勢(shì)分析
基于分組路由方式進(jìn)行片上通信的NoC在片上通信方式、功耗、基于重用的設(shè)計(jì)方法學(xué)、解決單一時(shí)鐘全局同步等方面都具有優(yōu)越性。
·有利于提高通訊帶寬
總線結(jié)構(gòu)是現(xiàn)有芯片架構(gòu)的通信脈絡(luò),隨著電路規(guī)模越來(lái)越大,總線結(jié)構(gòu)將成為芯片設(shè)計(jì)的瓶頸:雖然總線可以有效地連接多個(gè)通信方,但總線地址資源并不能隨著計(jì)算單元的增加而無(wú)限擴(kuò)展;雖然總線可由多用戶共享,但一條總線無(wú)法支持一對(duì)以上的用戶同時(shí)通信,即串行訪問(wèn)機(jī)制導(dǎo)致了通信的瓶頸。此外,片上通信是功耗的主要來(lái)源,龐大的時(shí)鐘網(wǎng)絡(luò)與總線的功耗將占據(jù)芯片總功耗的絕大部分。
NoC的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)提供了良好的可擴(kuò)展性;NoC連線網(wǎng)絡(luò)提供了良好的并行通信能力,從而使得通信帶寬增加幾個(gè)數(shù)量級(jí);此外,NoC將長(zhǎng)的互連線變成交換開關(guān)之間互相連接的短連線,這對(duì)功耗控制變得極為有利;另一方面,NoC借鑒了通訊協(xié)議中的分層思想,這就為從物理級(jí)到應(yīng)用級(jí)的全面功耗控制提供了可能。
·有利于提升重用設(shè)計(jì)
總線架構(gòu)可擴(kuò)展性和可重用性差,為此在芯片計(jì)算能力演變時(shí),必須跟隨著處理能力的需求而變更設(shè)計(jì)(如更高的內(nèi)存寬度、更高的頻率、更靈活的同步或異步設(shè)計(jì)等等),每一代芯片的推出都伴隨著程度不等的設(shè)計(jì)變更,這對(duì)于開發(fā)人員而言是相當(dāng)大的負(fù)擔(dān)。若是將通信架構(gòu)獨(dú)立設(shè)計(jì),并且運(yùn)用更具彈性的技術(shù),對(duì)于縮短設(shè)計(jì)周期、減少開發(fā)成本都有不小的幫助。
由于NoC所使用的通信協(xié)議層本身屬于獨(dú)立的資源,因此提供了支持高效率可重用設(shè)計(jì)方法學(xué)的體系結(jié)構(gòu):現(xiàn)有規(guī)模的SoC可以基于片上通信協(xié)議作為計(jì)算節(jié)點(diǎn)“即插即用”于NoC的網(wǎng)絡(luò)節(jié)點(diǎn);給定的互連拓?fù)浣Y(jié)構(gòu)使得芯片集成可以采用基于片上通信的設(shè)計(jì)方法(Communication-based Design,CBD)來(lái)完成。通信和計(jì)算完全分離的技術(shù)(也就是通信與計(jì)算的正交設(shè)計(jì))將重用范圍從計(jì)算單元可重用擴(kuò)展到計(jì)算與通信單元皆可重用的層次,從而大大提升了重用設(shè)計(jì)的水平。
·有利于解決全局同步的難題
納米工藝所帶來(lái)的各種物理效應(yīng)使得片上全局同步越來(lái)越困難。當(dāng)采用50nm工藝,時(shí)鐘頻率為10GHz時(shí),全局線延遲將達(dá)6~10個(gè)時(shí)鐘周期,時(shí)鐘偏斜(Skew)變得難以控制,而時(shí)鐘樹又是影響芯片功耗和成本的一個(gè)主要因素。這些問(wèn)題,隨著集成器件尺寸越來(lái)越小,時(shí)鐘頻率越來(lái)越高,將變得越來(lái)越突出。
NoC的片內(nèi)網(wǎng)絡(luò)通信方式,資源之間的短線互連和天然的全局異步局部同步(GALS)時(shí)鐘策略等特性是解決這些問(wèn)題有效途徑。
總而言之,研究NoC設(shè)計(jì)方法和設(shè)計(jì)技術(shù)是滿足納米工藝條件下高集成度芯片發(fā)展的必然需求。
NoC設(shè)計(jì)空間
完整的NoC設(shè)計(jì)方法學(xué)包括很多方面的問(wèn)題,它們對(duì)NoC的發(fā)展都是至關(guān)重要的,且已經(jīng)引起了學(xué)術(shù)界的廣泛研究。Carnegie Mellon大學(xué)的U.Y. Ogras等人在文獻(xiàn)[4]中提出了NoC設(shè)計(jì)空間的概念并將NoC研究歸納為三大類關(guān)鍵問(wèn)題:基礎(chǔ)架構(gòu)、通訊機(jī)制和映射優(yōu)化,如圖2所示。
圖2 NoC設(shè)計(jì)空間示意圖
圖中,“Hard NoC”(網(wǎng)格部分)指基本架構(gòu)確定,各PE節(jié)點(diǎn)的內(nèi)容也固定的一類NoC結(jié)構(gòu),其設(shè)計(jì)空間只是圖中一矩形部分,設(shè)計(jì)余度最??;“Firm NoC”(灰色陰影空間)指其基本架構(gòu)已確定,網(wǎng)絡(luò)通道寬度與通訊節(jié)點(diǎn)緩存大小不確定,其他維度對(duì)設(shè)計(jì)者完全自由的一類NoC結(jié)構(gòu),設(shè)計(jì)者可以根據(jù)確定的應(yīng)用實(shí)現(xiàn)最優(yōu)的布圖規(guī)劃、通訊調(diào)度與任務(wù)分配算法、IP映射算法和路由交換解決方案,設(shè)計(jì)空間比較靈活;“Soft NoC”(白色立方體部分)指設(shè)計(jì)者需要根據(jù)應(yīng)用來(lái)優(yōu)化NoC設(shè)計(jì)空間的所有問(wèn)題,設(shè)計(jì)靈活性最高,但設(shè)計(jì)難度和工作量也相應(yīng)最大。
設(shè)計(jì)者根據(jù)給定的具體應(yīng)用,依據(jù)應(yīng)用特征圖(Application Characterization Graph,APCG),在時(shí)間、成本、技術(shù)儲(chǔ)備等約束條件下,首先按應(yīng)用選擇基于哪類NoC開展設(shè)計(jì);其次在該類NoC的設(shè)計(jì)空間范圍內(nèi)解決相應(yīng)關(guān)鍵問(wèn)題,以探索最優(yōu)的NoC實(shí)現(xiàn)方案。
NoC關(guān)鍵技術(shù)難點(diǎn)
NoC關(guān)鍵技術(shù)主要包括系統(tǒng)建模、拓?fù)浣Y(jié)構(gòu)、路由方法、交換方法、緩存策略、服務(wù)質(zhì)量和映射優(yōu)化等,近年來(lái)都不同程度地取得研究進(jìn)展,而阻礙NoC走向大規(guī)模應(yīng)用的瓶頸在于以下幾方面:
存儲(chǔ)結(jié)構(gòu)問(wèn)題
Memory是NoC中十分重要的組件,在現(xiàn)有的片上多處理器系統(tǒng)中,存儲(chǔ)器占到70%的芯片面積,并且在不久的將來(lái)會(huì)上升到90%[5];而從能耗的角度來(lái)看,存儲(chǔ)器所引入的功耗也可達(dá)系統(tǒng)功耗的90%[6],這對(duì)芯片的散熱、封裝和可靠性等都帶來(lái)了嚴(yán)重的問(wèn)題;NoC系統(tǒng)需要大量的存儲(chǔ)元件,并被組織成復(fù)雜的存儲(chǔ)子系統(tǒng)(memory subsystem),這個(gè)存儲(chǔ)子系統(tǒng)將支持NoC的并行數(shù)據(jù)存儲(chǔ)、傳輸及交換。NoC中大量的存儲(chǔ)資源必將占用多個(gè)路由節(jié)點(diǎn),且由于處理單元與存儲(chǔ)資源之間的數(shù)據(jù)交換非常頻繁,若在數(shù)據(jù)包傳輸路徑上路由節(jié)點(diǎn)數(shù)目過(guò)多,會(huì)帶來(lái)很大的通信延時(shí)。如何有效縮短源節(jié)點(diǎn)到目的節(jié)點(diǎn)間的距離對(duì)提高整個(gè)NoC系統(tǒng)性能十分關(guān)鍵。
評(píng)論