前言
在過去的幾十年里,集成電路制造工藝技術、封裝與測試技術、設計方法學和EDA 工具等微電子相關技術始終保持著快速的發展。根據國際半導體技術發展路線圖(International Technology Roadmap for Semiconductors, ITRS)預測,到2024年IC 制造技術將達到8.9 nm,每平方毫米集成的晶體管數目將達到90 億個。但是,全局互連線的性能提升程度明顯低于晶體管性能提升程度。受到亞閾值漏電流功耗、動態功耗、器件可靠性以及全局互連線等影響,通過提升單個處理器核的性能來提升系統整體性能已變得非常難以實現,同時芯片設計的難度和復雜度也在進一步增加。片上系統(System on Chip, SoC)具有集成度高、功耗低、成本低、體積小等優點,已經成為超大規模集成電路系統設計的主流方向。
隨著片上系統SoC 的應用需求越來越豐富、越來越復雜,片上多核MPSoC (MultiprocessorSystem on Chip, MPSoC) 已經成為發展的必然趨勢,同時MPSoC 上集成的IP 核數量也將會按照摩爾定律繼續發展。目前,MPSoC 已經逐漸應用于網絡通信、多媒體等嵌入式電子設備中。半導體工藝技術的快速發展為集成電路設計提供了很大的發展空間,同時也帶來了一系列新的問題和挑戰,如芯片的性能、功耗、可靠性、可擴展性等等。
隨著系統性能需求越來越高,處理器核之間的互連架構必須能夠提供具有較低延遲和高吞吐率的服務,并且具有良好的可擴展性。傳統的基于總線的集中式互連架構已經難以滿足現今系統的性能需求,而基于報文交換的片上網絡(Network on Chip, NoC)逐漸成為片上多核間通訊的首選互連架構。在NoC 中,路由節點之間通過局部互連線相連接,每一個路由節點通過網絡接口NI 與一個本地IP 核相連接,源路由節點和目的路由節點之間的數據通訊需要經過多個跳步來實現。因此,NoC 技術的出現使得片上系統SoC 的設計也將從以計算為中心逐漸過渡到以通訊為中心。
傳統的SoC 系統采用總線互連結構,如圖1.1 所示。雖然人們已經提出了很多改進的總線結構,例如將共享總線改進為橋接多總線結構、層次化總線結構等更復雜的結構。但是當進入MPSoC 時代,單芯片上集成的處理器核數越來越多時,總線結構在通訊性能、功耗、全局時鐘同步、信號完整性以及信號可靠性等方面面臨著巨大的挑戰,這些復雜的改進型總線結構仍無法解決片上多核間通信所面臨的問題。因此,MPSoC 上多核間的通訊問題已經成為制約系統性能提升的主要瓶頸。
NoC 的概念是由Agarwal(1999 年)、Guerrier 和Greiner(2000 年)、Dally 和Towles(2001 年)、Benini 和Micheli(2002 年)、Jantsch 和Tenhunen(2003 年)等人逐步提出的。目前,NoC 的研究仍處于初級階段,但隨著半導體工藝技術的進步和芯片集成度的提高,NoC 的設計已成為現實,并展現出非常廣闊的前景[2]。目前,對于NoC 還沒有一個統一的定義,大多數NoC 研究者認為NoC 是SoC 系統的通訊子集,并且應該引入互聯網絡技術來解決片上多核的通訊問題。
隨著單芯片上集成的處理器核數越來越多,片上互連架構經歷了從專用互連線,Bus,Crossbar到NoC。NoC 借鑒了分布式計算系統的通訊方式,采用數據路由和分組交換技術替代傳統的總線結構,從體系結構上解決了SoC 總線結構由于地址空間有限導致的可擴展性差,分時通訊引起的通訊效率低下,以及全局時鐘同步引起的功耗和面積等問題。與傳統的總線互連技術相比,片上網絡具有如下優點:
第一,網絡帶寬。總線結構互連多個IP 核,共享一條數據總線,其缺點是同一時間只能有一對IP 進行通信。隨著系統規模的逐漸增大,總線結構的通信效率必然成為限制系統性能提升的瓶頸。片上網絡具有非常豐富的信道資源,為系統提供了一個網絡化的通信平臺。網絡中的多個節點可以同時利用網絡中的不同物理鏈路進行信息交換,支持多個IP 核并發地進行數據通信。隨著網絡規模的增大,網絡上的信道資源也相應增多。因此,NoC 技術相對于Bus 互連技術具有較高的帶寬,以及更高的通信效率。當并發進行數據通信時網絡會產生競爭,即會存在請求同一條物理鏈路的節點對。NoC 的路由節點通過分時復用物理鏈路來解決競爭,與Bus 結構相比,NoC 能夠降低競爭發生的概率。
第二,可擴展性和設計成本。總線結構需要針對不同的系統需求單獨進行設計,當系統功能擴展時,需要對現有的設計方案重新設計,從而嚴重影響設計的周期和資本投入。NoC 中每個路由節點和本地IP 核通過網絡接口(NetworkInterface, NI)相連,當系統需要升級擴展新功能時,只需要將新增加的處理器核通過網絡接口NI 接入到網絡中的路由節點即可,無需重新設計網絡。因此,片上網絡具有良好的可擴展性。片上網絡作為一個獨立的片上互連結構,能夠滿足不同系統的應用需求,當網絡中節點數量增加時,僅需要按照相應的拓撲結構規則繼續增大網絡的規模即可,縮短了產品的設計周期,節約了設計成本。
第三,功耗。隨著SoC 規模的不斷增大,總線上每次信息交互都需要驅動全局互連線,因此總線結構所消耗的功耗將顯著增加,并且隨著集成電路工藝的不斷發展,想要保證全局時鐘同步也將變得難以實現。而在NoC 中,信息交互消耗的功耗與進行通訊的路由節點之間的距離密切相關,距離較近的兩個節點進行通訊時消耗的功耗就比較低。
第四,信號完整性和信號延遲。隨著集成電路特征尺寸的不斷減小,電路規模的不斷增大,互連線的寬度和間距也在不斷地減小,線間耦合電容相應增大,長的全局并行總線會引起較大的串擾噪聲,從而影響信號的完整性以及信號傳輸的正確性。同時,互連線上的延遲將成為影響信號延遲的主要因素,總線結構全局互連線上的延遲將大于一個時鐘周期,從而使得時鐘的偏移很難管理。
第五,全局同步。總線結構采用全局同步時鐘,隨著芯片集成度的提高,芯片的工作頻率也在不斷提高,在芯片內會形成很龐大的時鐘樹,因此很難實現片上各個模塊的全局同步時鐘。采用時鐘樹(Clock Tree)優化的方法可以改善由時鐘翻轉引起的時鐘偏差和時鐘抖動,但同步時鐘網絡所產生的動態功耗甚至可達總功耗的40%以上。為了提高系統的時鐘頻率,只能對全局互連線采用分布式流水線結構,或者采用全局異步局部同步(Global Asynchronous Local Synchronous,GALS)的時鐘策略。
NOC發展史
之前的芯片設計比較簡單,往往只需要總線就可以實現基本功能,但是隨著芯片復雜度的提升,對總線的競爭變得越來越顯著,會使得總線很快飽和,為了解決這總問題,仲裁器,分離事務傳輸等方法引入了片上總線系統,例如axi協議,metrix等。
但時這樣雖然解決了總線競爭和帶寬的問題,卻也帶了了很大的面積提升以及功耗的增加。由于上面的種種原因,NOC成為總線和交叉開關最有吸引力的替代方案。可拓展性大大提高,想必大家都遇到過AXI metrix拓展的痛苦過程,NOC的拓展就簡單的多,只需要增加一個NIU接口就可以了,并且隨著節點的增加,帶寬增幅也是近似于線性的。并且NOC具有很多相鄰短路徑和鏈路復用,這對后端的布線也是很有幫助的。
NOC的基本建模
拓撲:由傳輸通道和路由器router組成。
路由:路由決定source到target的路徑,合理的算法可以影響NOC的吞吐量和性能。
流控:流控就是給消息提供buffer和帶寬。
路由器微體系結構:由輸入緩沖區,路由器狀態,路由邏輯,分配器和交叉開關組成。路由器通常設計為流水線結構,以提高吞吐量,畢竟NOC的主要延遲就在這一塊。
鏈路結構:使用傳統的全擺幅邏輯和中繼器。
性能和成本
性能指的是網絡傳輸的延遲和能接受的流量。零負載延遲的算法就是跳數x路徑距離,這是延遲的下限值。
除了降低延遲,還需要提高吞吐量。隨著吞吐量的提升,帶來的延遲呈現指數增長的趨勢。
成本開銷主要就是面積和功耗,后面再具體分析。
審核編輯:黃飛
-
處理器
+關注
關注
68文章
19706瀏覽量
232706 -
路由器
+關注
關注
22文章
3789瀏覽量
115483 -
總線
+關注
關注
10文章
2935瀏覽量
89122 -
片上網絡
+關注
關注
0文章
33瀏覽量
11921 -
NoC
+關注
關注
0文章
39瀏覽量
11846
原文標題:片上網絡入門
文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于遺傳算法的片上網絡虛通道分配算法
基于FPGA的多時鐘片上網絡該怎么設計?
一種用于片上網絡的交換開關結構
片上網絡通信性能分析建模與緩存分配優化算法
片上網絡的功耗研究
片上網絡系統網絡層設計與研究
一種用于片上網絡的交換開關結構
一種片上網絡自適應路由算法仿真與驗證
Sonics推出業內首款GHz級片上網絡
一種低延時片上網絡路由器的設計與實現

片上網絡的SystemC建模研究

片上網絡概述與FPGA研究(連載1)

評論