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