1. 程式人生 > 其它 >SoC(System on chip)與NoC(network-on-chip)

SoC(System on chip)與NoC(network-on-chip)

SoC(System on chip)與NoC(network-on-chip)

NoC是相對於SoC的新一代片上互連技術,要深入瞭解NoC必須深刻認識SoC,故本文組織結構為:

l SoC架構

l SoC的侷限性

l SoC設計流程

l NoC架構

l NOC架構優勢

l NoC 和 SoC 的區別

一.SoC基本架構

典型的系統級晶片結構包括以下部分:

  • 至少一個微控制器(MCU)或微處理器(MPU)或數字訊號處理器(DSP),但是也可以有多個處理器核心;
  • 儲存器可以是RAM、ROM、EEPROM和快閃記憶體中的一種或多種;
  • 用於提供時間脈衝訊號的振盪器和鎖相環電路;
  • 由計數器和計時器、電源電路組成的外設;
  • 不同標準的連線介面,如USB、火線、乙太網、通用非同步收發和序列周邊介面等;
  • 用於在數字訊號和模擬訊號之間轉換的ADC/DAC;
  • 電壓調理電路及穩壓器。

片上系統通訊架構(System on chip, SoC)SoC整體架構圖如下:

二.SoC的侷限性

目前,SoC通訊架構的設計相對比較成熟。大部分晶片公司晶片製造都採用SoC架構。然而,隨著商業應用開始不斷追求指令執行並存性和預測性,晶片中整合的核數目將不斷增多,基於匯流排架構的SoC將逐漸難以不斷增長的計算需求。其主要表現為:

1、可擴充套件性差。SoC系統設計是從系統需求分析開始,確定硬體系統中的模組。為了使系統能夠正確工作,SoC中各物理模組在晶片上的位置是相對固定的。一旦在物理設計完畢後,要進行修改,實際上就有可能是一次重新設計的過程。另一方面,基於匯流排架構的SoC,由於匯流排架構固有的仲裁通訊機制,即同一時刻只能有一對處理器核心進行通訊,限制了可以在其上擴充套件的處理器核心的數量。

2、平均通訊效率低。SoC中採用基於獨佔機制的匯流排架構,其各個功能模組只有在獲得匯流排控制權後才能和系統中其他模組進行通訊。從整體來看,一個模組取得匯流排仲裁權進行通訊時,系統中的其他模組必須等待,直到匯流排空閒。

3、單一時鐘同步問題。匯流排結構要求全域性同步,然而隨著工藝特徵尺寸越來越小,工作頻率迅速上升,達到10GHz以後,連線延時造成的影響將嚴重到無法設計全域性時鐘樹的程度,而且由於時鐘網路龐大,其功耗將佔據晶片總功耗的大部分。

三.SoC設計流程

一個完整的系統級晶片由硬體和軟體兩部分組成,其中軟體用於控制硬體部分的微控制器、微處理器或數字訊號處理器核心,以及外部裝置和介面。系統級晶片的設計流程主要是其硬體和軟體的協同設計。

由於系統級晶片的整合度越來越高,設計工程師必須儘可能採取可複用的設計思路。現今大部分SoC都使用預定義的IP核(包括軟核、硬核和固核),以可複用設計的方式來完成快速設計。在軟體開發方面,協議棧是一個重要的概念,它用來驅動USB等行業標準介面。在硬體設計方面,設計人員通常使用EDA工具將已經設計好(或者購買)的IP核連線在一起,在一個整合開發環境(IDE)下整合各種子功能模組。

下圖不是系統級晶片的設計流程示意圖。

晶片設計在被送到晶圓廠進行流片生產之前,設計人員會採取不同方式對其邏輯功能進行驗證。模擬與驗證是SoC設計流程中最複雜,最耗時的環節,約佔整個晶片開發週期的50%~80% ,採用先進的設計與模擬驗證方法已成為SoC設計成功的關鍵。

四.NoC架構

Noc的發展是以SoC為基礎。SoC通常是指在單一晶片上實現的數字計算機系統,通過匯流排完成其中各模組之間的互動,但隨著半導體工藝和需求的快速發展,匯流排的寬度已經成為SoC發展的瓶頸,大大限制了SoC內部通訊的速度。90年代NoC技術的提出也是因為借鑑了平行計算機的網際網路絡和乙太網絡的分層思想,二者的相同點有:支援包交換、路由協議、任務排程、可擴充套件等。NoC更關注交換電路和快取器的面積佔用,在設計時主要考量的方面也是這些。

NoC將巨集觀網路的通訊措施應用於晶片上,每個核當做一個獨立的單元,IP核經過網路介面與特定的路由器相連。將IP核之間的通訊轉換為路由器與路由器的通訊。通常情況下的NoC架構如下圖所示:

R為路由節點,IP為計算節點。

傳統的NoC架構主要由路由器節點、IP核、資源網路介面、通道組成。

1、資源節點:主要包含計算節點和儲存節點。計算節點包含處理器即IP核(CPU、DSP等),儲存節點包含ROM、RAM、DRAM、SDRAM等

2、通訊節點:即路由節點或路由器,主要負責完成IP核之間的資料通訊任務。NoC中資源節點產生一個數據包後,會通過特定的介面傳送到源路由器中,源路由器會讀取資料包的頭微片中的地址資訊,通過特定的路由演算法計算出最佳路由路徑,從而樹立可靠的傳輸到目的節點,最終由目的IP核接收此資訊。

3、資源網路介面:其功能就是作為通訊節點與功能節點之間的介面。主要功能有完成資料包的封裝與解封裝,在源節點的資源網路介面中將原地址資訊以及目的地址資訊等封裝到資料包的頭微片中;在目的節點的資源網路介面中將原地址資訊以及目的地址資訊等刪除。

4、通道:實質為雙向金屬鏈路,用以保證節點間的資料傳輸。分為內部通道和外部通道,內部通道為資源節點和通訊節點之間的金屬鏈路,外部通道指通訊節點之間的金屬鏈路。

五.NOC架構優勢

1、良好的可擴充套件能力。一方面,相比於SoC架構,不在受限於匯流排架構,可以擴充套件任意數量的計算節點。另一方面,需要對系統功能進行擴充套件時,只需要將設計好的功能模組通過資源網路介面植入網路,無需重新設計網路整體架構。

2、較高的通訊效率。一方面NoC將IP核之間的資料傳輸演變成為路由器之間的資料轉發,IP核節約了一部分的計算資源。另一方面避免了匯流排架構同一時刻只能有一對通訊節點進行通訊的問題,可以實現同一時刻多對節點通訊。

3、功耗。NoC中採用全域性非同步區域性同步的時鐘機制,其功耗開銷遠低於SoC。NoC中區域性模組運用同步時鐘域,而全域性上採用非同步時鐘,降低了由於全域性時鐘同步所帶來的動態開銷,同時,NoC中的時鐘樹設計複雜度也低於SoC。

4、資料傳輸可靠性。隨著積體電路特徵尺寸的不斷減小,電路規模的不斷增大,互連線的寬度和間距也在不斷地減小,線間耦合電容相應增大,長的全域性並行匯流排會引起較大的串擾噪聲,從而影響訊號的完整性以及訊號傳輸的正確性。同時,互連線上的延遲將成為影響訊號延遲的主要因素,匯流排結構全域性互連線上的延遲將大於一個時鐘週期,從而使得時鐘的偏移很難管理。

六.NoC 和 SoC 的區別

SoC:System on Chip,中文稱為片上系統,主要是針對 ASIC 或者 chip 來講的。在 ASIC 設計的早期,由於製造工藝和效能等的約束,大部分晶片都單純地實現某個特定功能,如處理器核心、匯流排、記憶體控制器、藍芽等都由各自獨立的晶片分別實現,處理器之間的通訊也以多顆晶片互連的方式實現。

隨著製造工藝的提升,以及設計能力的增強,單顆 ASIC 的功能越來越全面和強大,在一顆晶片內完全可以實現諸如處理器核心、匯流排、記憶體控制器、藍芽等所有的功能。同時,ASIC 規模增大導致設計愈來愈複雜,因此,以 IP 核互連為核心的設計方法學應用而生。

這樣,就出現了在一顆晶片裡集成了大量的處理器核心、匯流排、控制器等 IP,而處理器核心數量也由曾經的單核增大到多核、眾核。在這種情況下,設計方法學完全不同於以往 ASIC 的設計方法學,因此,誕生了 SoC 的概念,以和 ASIC 進行區別。不嚴格地說,一顆 SoC 可以實現以前多顆 ASIC 構成的系統。

NoC:Network on Chip,中文稱之為片上網路。隨著 SoC 技術的發展,晶片內部的 IP 核越來越多,有可能在一顆晶片中集成了數以百記的處理器核心(包括同構處理器核心和異構處理器核心)、數以千計控制器 IP 核等等,那麼這種情況下 IP 核之間的互聯就成為 SoC 效能一個重要組成部分。

而 NoC 技術的誕生就是為了能夠讓 IP 核之間的通訊能夠實現高效、高吞吐量、低功耗的目的。因此 NoC 技術主要研究物件就是各種互連方法、互連結構,以及 IP 核網際網路絡中路由演算法。NoC 技術目前還處於學術研究階段,大部分學術論文裡都是模擬結果,工業界也有應用例項,但是比較少。

參考連結:

https://blog.csdn.net/hulizhuzhenming/article/details/86579695

https://www.sohu.com/a/437939854_465219

https://cloud.tencent.com/developer/article/1652864

人工智慧晶片與自動駕駛