特約通訊員羅麗
NoC現(xiàn)在尚處于早期研究階段,但是從計算機發(fā)展的歷史可以看到NoC必將是SoC之后的下一代主流技術,現(xiàn)在大力開展NoC的基礎理論研究將是十分必要的,本文將介紹NoC的出現(xiàn)背景、基本架構及現(xiàn)在的研究狀況等等,讓您將對NoC有著更為詳盡的了解。
SoC通常指在單一芯片上實現(xiàn)的數(shù)字計算機系統(tǒng),總線結構是該系統(tǒng)的主要特征,由于其可以提供高性能的互連而被廣泛運用。然而隨著半導體工藝技術的持續(xù)發(fā)展,出現(xiàn)了一些與總線相關的問題:總線地址空間有限,由于使用單一時鐘整個芯片均同步的限制。因而在20世紀末幾個研究小組提出了一種全新的集成電路體系結構NoC(Network on Chip),其核心思想是將計算機網(wǎng)絡技術移植到芯片設計中來,從體系結構上徹底解決總線架構帶來的問題。
NoC可以定義為在單一芯片上實現(xiàn)的基于網(wǎng)絡通訊的多處理器系統(tǒng),是用來設計IP內(nèi)核和系統(tǒng)芯片之間的通信子系統(tǒng)的方法。NoC包括計算和通訊兩類節(jié)點。計算節(jié)點(又稱為資源,Resource)完成廣義的計算任務,它們既可以是SoC,也可以是各種單一功能的IP;通訊節(jié)點(又稱交換開關,Switch)負責計算節(jié)點之間的數(shù)據(jù)通訊。通訊節(jié)點及其之間的網(wǎng)絡稱為OCN(On—ChipNetwork),它借鑒了分布式計算機系統(tǒng)的通訊方式,用路由和分組交換技術替代傳統(tǒng)的總線技術完成通訊任務。
NoC是一個在單一硅芯片上為大型積體電路系統(tǒng)之間通訊時而出現(xiàn)的新興模式,我們把它稱為“片上核交互通信網(wǎng)絡芯片的分層堆棧方法設計?!痹谝粋€片上網(wǎng)絡系統(tǒng),如處理器核心、內(nèi)存條和專門的IP塊等模塊,交換數(shù)據(jù)使用的是網(wǎng)絡作為公共交通的子系統(tǒng)來傳遞系統(tǒng)信息。一個片上網(wǎng)絡是由交換機(或路由器)來連通多條點對點的數(shù)據(jù)鏈路交互構建而成,使得信息在交換機中可以從任何源模塊通過不同的鏈路轉發(fā)到任何目的模塊。
NoC能夠跨越同步和異步時鐘域或者使用不受時間約束的異步邏輯。NoC將網(wǎng)絡原理和方法用于芯片的通訊上,并給傳統(tǒng)的總線交互帶來了便利。NoC相比于其它設計來說提高了系統(tǒng)芯片的可擴展性及復雜系統(tǒng)芯片的功率。
NoC的電線的鏈接中有許多共享的信號。因為NoC上所有鏈接都可以同時傳送不同的數(shù)據(jù)包,從而達到很高的并行水平。因此,隨著集成系統(tǒng)的復雜性不斷增加,NoC相比之前的通信架構(如專用的點對點信號線、共享總線、用網(wǎng)橋連接的分段總線等)提供了更強的性能(如吞吐量)和可擴展性。當然,一個好的算法必須設計以提供大量的并行性和也能更好地利用片上網(wǎng)絡的潛力。
傳統(tǒng)上,集成電路在專用點對點連接上設計的是每一個信號用一條線路來傳遞。對于大型設計來說,特別是從物理設計的角度來說,這已經(jīng)有較多的限制因素了,導線會占用不少的芯片面積。在納米級的Cmos技術中,導線主宰著性能和動態(tài)功率損耗,因為在芯片之間進行電線上的信號傳輸需要多個時鐘周期。
NoC鏈路的速度、功耗、噪聲、可靠性等性能均可預測,我們可以利用預測值設計易于控制的結構從而減少設計的復雜度。從系統(tǒng)設計的角度,隨著多核處理器系統(tǒng)的出現(xiàn),網(wǎng)絡是一個自然而然的架構選擇。片上網(wǎng)絡提供了計算和通信的隔離,通過一個標準接口支持模塊化和IP復用,處理同步問題,為系統(tǒng)測試提供平臺服務,并因此提高工程效率。
NoC與SoC有兩點本質(zhì)的區(qū)別:處理器數(shù)量的不同和通訊機制的不同。前者是多處理器系統(tǒng),而后者是單一處理器系統(tǒng);前者使用網(wǎng)路通訊,而后者用總線通訊。從體系結構的角度來看,NoC使用網(wǎng)絡替代總線有如下優(yōu)點:具有良好的地址空間可擴展性,理論上可集成的資源節(jié)點的數(shù)目不受限制;提供良好的并行通訊能力,從而提高數(shù)據(jù)吞吐率及整體性能;使用全局異步局部同步(GlobalAsynchronous LocalSynchronous,GALS)機制,每一個資源節(jié)點都工作在自己的時鐘域,而不同的資源節(jié)點之間則通過OCN進行異步通訊,很好地解決了總線結構的單一時鐘同步問題,從而徹底解決了龐大的時鐘樹所帶來的功耗和面積問題。
NoC技術從體系結構上徹底解決了SoC的總線結構所固有的三大問題:由于地址空間有限而引起的擴展性問題,由于分時通訊而引起的通訊效率問題,以及由于全局同步而引起的功耗和面積問題。
值得注意的是,NoC技術雖然移植了計算機網(wǎng)絡中的關鍵技術,但是,由于通訊媒介存在著根本差異以及納米級工藝條件下芯片設計的特定需求,使得NoC在以下幾個方面與傳統(tǒng)計算機網(wǎng)絡之間存在著明顯的不同:連線資源遠較計算機網(wǎng)絡豐富;流量分布函數(shù)的差別(傳統(tǒng)計算機網(wǎng)絡的流量服從泊松分布);資源節(jié)點的異類性(NoC可在整個系統(tǒng)芯片內(nèi)進行計算,而不僅僅是一個固定IP);顯著的低功耗需求(納米級工藝條件下任何芯片都無法回避的最重要的問題之一)。
經(jīng)過近十年的發(fā)展,NoC技術的領域框架已經(jīng)基本成形,上圖給出了NoC基礎理論的體系。NoC技術領域包括體系結構、納米設計技術、EDA實現(xiàn)理論與工具等幾個主要方面?!绑w系結構”研究NoC的基本軟硬件結構,是當前學術界的研究重點。其中的“OCN結構”研究NoC的基礎通訊架構(backbone);“拓撲結構”研究NoC通訊系統(tǒng)的拓撲框架;“通訊協(xié)議”著眼于基礎架構中的高效通信;“NoC軟件”側重于操作系統(tǒng);“NoC基礎元件庫”相當于SoC時代的IP庫,庫元件既包括SoC、IP等傳統(tǒng)元件,也包括鏈接通道(1ink)、接口、路由器、電開關等NoC時代的特有元件;“系統(tǒng)集成和驗證技術”研究如何在上述基礎上設計NoC芯片。
盡管NoC能夠從已經(jīng)確定下來的計算機網(wǎng)絡定義借用概念和技術,但是盲目地重復使用經(jīng)典計算機網(wǎng)絡和對稱多處理器的特征是不切實際的。特別是NoC對交換機的要求更高,需要體積小、節(jié)能高效且快速。早期的NoC研究忽略了這些方面,但現(xiàn)在應該更詳細地考慮。路由算法應該能夠用簡單的邏輯來執(zhí)行,數(shù)據(jù)緩沖區(qū)應該要達到最低限度。網(wǎng)絡拓撲結構和屬性應該是由具體相應的程序而定。
一些研究者認為,NoC需要支持服務質(zhì)量(QoS),即在吞吐量上實現(xiàn)各方面的要求,端至端的延誤和最后期限。NoC環(huán)境下的實時計算,如音頻和視頻播放,都需要服務質(zhì)量的保證。但是目前的系統(tǒng)實現(xiàn)如VxWorks,RTLinux或QNX都能夠?qū)崿F(xiàn)實時計算子毫秒而無需特殊硬件支持。這表明對于許多實時應用程序來說現(xiàn)有的片上互連的基礎設施的服務質(zhì)量是足夠的,專用硬件邏輯將會實現(xiàn)微秒的精度,在實際應用中終端用戶是不需要這么精確的(只需要十分之一毫秒級就能保證聲音或視頻的不抖動)。
此外NoC的研究動機之一是在公共云計算基礎設施中提供多個并發(fā)用戶在單一多處理器芯片上的資源共享的支持。在這種情況下,硬件的服務質(zhì)量將會提供有保障的服務水平,這將是一些公司或政府客戶端所期盼的特性。迄今為止,在學術界和工業(yè)界已經(jīng)設計和分析了一些NoC原型,但只有少數(shù)已實施。然而,從物理鏈路層到網(wǎng)絡層,并一路攀升到系統(tǒng)架構層和應用軟件層,不同級別均有許多具有挑戰(zhàn)性的研究問題有待解決。
http://en.wikipedia.org/wiki/Network_On_Chip