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