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