片上網(wǎng)絡(luò)(NoC)技術(shù)發(fā)展現(xiàn)狀及趨勢淺析
引言
隨著半導(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è)研究的重點(diǎn)和未來的主要發(fā)展方向。
表1 ITRS預(yù)測表
按照不同的片上互連方式,多核SoC可分為兩大類:傳統(tǒng)的基于總線的互連和基于網(wǎng)絡(luò)的互連。前者是現(xiàn)有SoC的擴(kuò)展,通過多總線及層次化總線等技術(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é)點(diǎn)及其間的互連線所構(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è)計的瓶頸:雖然總線可以有效地連接多個通信方,但總線地址資源并不能隨著計算單元的增加而無限擴(kuò)展;雖然總線可由多用戶共享,但一條總線無法支持一對以上的用戶同時通信,即串行訪問機(jī)制導(dǎo)致了通信的瓶頸。此外,片上通信是功耗的主要來源,龐大的時鐘網(wǎng)絡(luò)與總線的功耗將占據(jù)芯片總功耗的絕大部分。
NoC的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)提供了良好的可擴(kuò)展性;NoC連線網(wǎng)絡(luò)提供了良好的并行通信能力,從而使得通信帶寬增加幾個數(shù)量級;此外,NoC將長的互連線變成交換開關(guān)之間互相連接的短連線,這對功耗控制變得極為有利;另一方面,NoC借鑒了通訊協(xié)議中的分層思想,這就為從物理級到應(yīng)用級的全面功耗控制提供了可能。
·有利于提升重用設(shè)計
總線架構(gòu)可擴(kuò)展性和可重用性差,為此在芯片計算能力演變時,必須跟隨著處理能力的需求而變更設(shè)計(如更高的內(nèi)存寬度、更高的頻率、更靈活的同步或異步設(shè)計等等),每一代芯片的推出都伴隨著程度不等的設(shè)計變更,這對于開發(fā)人員而言是相當(dāng)大的負(fù)擔(dān)。若是將通信架構(gòu)獨(dú)立設(shè)計,并且運(yùn)用更具彈性的技術(shù),對于縮短設(shè)計周期、減少開發(fā)成本都有不小的幫助。
由于NoC所使用的通信協(xié)議層本身屬于獨(dú)立的資源,因此提供了支持高效率可重用設(shè)計方法學(xué)的體系結(jié)構(gòu):現(xiàn)有規(guī)模的SoC可以基于片上通信協(xié)議作為計算節(jié)點(diǎn)“即插即用”于NoC的網(wǎng)絡(luò)節(jié)點(diǎn);給定的互連拓?fù)浣Y(jié)構(gòu)使得芯片集成可以采用基于片上通信的設(shè)計方法(Communication-based Design,CBD)來完成。通信和計算完全分離的技術(shù)(也就是通信與計算的正交設(shè)計)將重用范圍從計算單元可重用擴(kuò)展到計算與通信單元皆可重用的層次,從而大大提升了重用設(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)、通訊機(jī)制和映射優(yōu)化,如圖2所示。
圖2 NoC設(shè)計空間示意圖
圖中,“Hard NoC”(網(wǎng)格部分)指基本架構(gòu)確定,各PE節(jié)點(diǎn)的內(nèi)容也固定的一類NoC結(jié)構(gòu),其設(shè)計空間只是圖中一矩形部分,設(shè)計余度最??;“Firm NoC”(灰色陰影空間)指其基本架構(gòu)已確定,網(wǎng)絡(luò)通道寬度與通訊節(jié)點(diǎn)緩存大小不確定,其他維度對設(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ù)難點(diǎn)
NoC關(guān)鍵技術(shù)主要包括系統(tǒng)建模、拓?fù)浣Y(jié)構(gòu)、路由方法、交換方法、緩存策略、服務(wù)質(zhì)量和映射優(yōu)化等,近年來都不同程度地取得研究進(jìn)展,而阻礙NoC走向大規(guī)模應(yīng)用的瓶頸在于以下幾方面:
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é)點(diǎn),且由于處理單元與存儲資源之間的數(shù)據(jù)交換非常頻繁,若在數(shù)據(jù)包傳輸路徑上路由節(jié)點(diǎn)數(shù)目過多,會帶來很大的通信延時。如何有效縮短源節(jié)點(diǎn)到目的節(jié)點(diǎn)間的距離對提高整個NoC系統(tǒng)性能十分關(guān)鍵。
評論