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