在芯片設(shè)計(jì)中,SoC(System on Chip)和NoC(Network on Chip)是兩個(gè)不同的架構(gòu),它們?cè)趦?nèi)部通信方式、設(shè)計(jì)理念方面存在著很大的差異。 SoC以緊湊的結(jié)構(gòu)和低功耗著稱,適用于小型和低功耗的應(yīng)用,而NoC則采用分布式通信的方式,能夠?yàn)榇笠?guī)模的系統(tǒng)和高帶寬應(yīng)用提供高效的通信方式。 隨著互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領(lǐng)域的不斷發(fā)展,NoC架構(gòu)的芯片技術(shù)也將得到更廣泛的應(yīng)用。 本文將探討SoC和NoC架構(gòu)的差異以及各自的優(yōu)勢(shì)與挑戰(zhàn)。
1互連的演變
共享總線:共享總線(如ARM的AMBA總線和IBM的CoreConnect總線)是SoC中常用的通信機(jī)制。 它們支持使用標(biāo)準(zhǔn)接口并允許 IP 重用的模塊化設(shè)計(jì)方法,但隨著系統(tǒng)帶寬需求的擴(kuò)大,共享總線結(jié)構(gòu)成為性能瓶頸。
分層總線:分層總線涉及使用多個(gè)總線或總線段來(lái)減輕主總線上的負(fù)載。 這種層次結(jié)構(gòu)允許同一總線段上的模塊之間進(jìn)行本地通信,而不會(huì)導(dǎo)致總線其余部分擁塞。 這種方法的缺點(diǎn)是降低了靈活性和可擴(kuò)展性,并且設(shè)計(jì)過(guò)程很復(fù)雜。 連接到總線上的內(nèi)核越多,實(shí)現(xiàn)時(shí)間收斂和服務(wù)質(zhì)量的難度就越大。
總線矩陣:full crossbar系統(tǒng)是片上總線通信的替代方案。 不過(guò),隨著參與系統(tǒng)數(shù)量的增加,線路的復(fù)雜性可能會(huì)超過(guò)邏輯部分。 當(dāng)進(jìn)行系統(tǒng)升級(jí)時(shí),接口設(shè)計(jì)會(huì)受到影響,所有連接模塊都會(huì)受到影響。 盡管受益于亞微米技術(shù),計(jì)算和存儲(chǔ)使用更小的邏輯單元和內(nèi)存,但通信的能量并沒(méi)有按比例減少。 相反,串?dāng)_效應(yīng)、電遷移和互連延遲對(duì)時(shí)序收斂會(huì)產(chǎn)生負(fù)面影響。
2000 年代初期,一些技術(shù)人員提出使用預(yù)定義平臺(tái)來(lái)實(shí)現(xiàn)芯片中多個(gè)內(nèi)核之間的通信,這種集成交換網(wǎng)絡(luò)能夠滿足未來(lái)系統(tǒng)的可重用性、可擴(kuò)展帶寬和低功耗等關(guān)鍵需求,稱為片上網(wǎng)絡(luò)(Network-on-Chip,簡(jiǎn)稱NoC)。
2什么是NoC(Network-on-Chip)?
NoC是一種新型的芯片內(nèi)通信結(jié)構(gòu),它采用類似計(jì)算機(jī)網(wǎng)絡(luò)的設(shè)計(jì)思想,將片上系統(tǒng)內(nèi)部的各個(gè)處理器、存儲(chǔ)器、I/O等單元連接起來(lái),形成一個(gè)可重構(gòu)的、高效的、靈活的通信網(wǎng)絡(luò)。
NoC 與Soc
SoC(System on Chip)是一種在單個(gè)芯片上集成多個(gè)不同功能的電子系統(tǒng)的設(shè)計(jì)方法。 在SoC中,不同的組件(如處理器核心、內(nèi)存控制器、圖形處理器等)被集成在同一個(gè)芯片上,以便于更高效、更緊湊的設(shè)計(jì)和制造。
根據(jù)應(yīng)用的不同,SoC 設(shè)計(jì)通常包含存儲(chǔ)設(shè)備、RAM/ROM 內(nèi)存塊、中央處理器 (CPU)、輸入/輸出端口和外圍接口,例如定時(shí)器、內(nèi)部集成電路、通用異步接收/發(fā)送器(UART)、圖形處理單元(GPU)、控制器區(qū)域網(wǎng)絡(luò)(CAN)、串行外設(shè)接口(SPI)等。 此外,根據(jù)需要,還可以包括浮點(diǎn)單元或模擬/數(shù)字信號(hào)處理系統(tǒng)。
| 圖:SoC整體架構(gòu)
目前SoC設(shè)計(jì)相對(duì)比較成熟。 大部分芯片公司芯片制造都采用SoC架構(gòu)。 然而,隨著商業(yè)應(yīng)用開(kāi)始不斷追求指令運(yùn)行并存性和預(yù)測(cè)性,芯片中集成的核數(shù)目將不斷增多,基于總線架構(gòu)的SoC將逐漸難以不斷增長(zhǎng)的計(jì)算需求。 其主要表現(xiàn)為:
可擴(kuò)展性差。
SoC系統(tǒng)設(shè)計(jì)是從系統(tǒng)需求分析開(kāi)始,確定硬件系統(tǒng)中的模塊。 為了使系統(tǒng)能夠正確工作,SoC中各物理模塊在芯片上的位置是相對(duì)固定的。 一旦在物理設(shè)計(jì)完畢后,要進(jìn)行修改,實(shí)際上就有可能是一次重新設(shè)計(jì)的過(guò)程。 另一方面,基于總線架構(gòu)的SoC,由于總線架構(gòu)固有的仲裁通信機(jī)制,即同一時(shí)刻只能有一對(duì)處理器核心進(jìn)行通信,限制了可以在其上擴(kuò)展的處理器核心的數(shù)量。
平均通信效率低。
SoC中采用基于獨(dú)占機(jī)制的總線架構(gòu),其各個(gè)功能模塊只有在獲得總線控制權(quán)后才能和系統(tǒng)中其他模塊進(jìn)行通信。 從整體來(lái)看,一個(gè)模塊取得總線仲裁權(quán)進(jìn)行通信時(shí),系統(tǒng)中的其他模塊必須等待,直到總線空閑。
單一時(shí)鐘同步問(wèn)題。
總線結(jié)構(gòu)要求全局同步,然而隨著工藝特征尺寸越來(lái)越小,工作頻率迅速上升,達(dá)到10GHz以后,連線延時(shí)造成的影響將嚴(yán)重到無(wú)法設(shè)計(jì)全局時(shí)鐘樹(shù)的成都,而且由于時(shí)鐘網(wǎng)絡(luò)龐大,其功耗將占據(jù)芯片總功耗的大部分。
NoC是一種基于網(wǎng)絡(luò)結(jié)構(gòu)的芯片內(nèi)通信方式,它使用專門(mén)設(shè)計(jì)的網(wǎng)絡(luò)拓?fù)鋪?lái)實(shí)現(xiàn)不同組件之間的通信。 與傳統(tǒng)的總線結(jié)構(gòu)相比,NoC能夠提供更高的帶寬、更低的延遲和更好的可擴(kuò)展性。
| 圖:從總線結(jié)構(gòu)到網(wǎng)絡(luò)拓?fù)?/p>
NoC具有以下幾個(gè)基本優(yōu)勢(shì):
可擴(kuò)展性:NoC的拓?fù)浣Y(jié)構(gòu)和通信機(jī)制可根據(jù)需要靈活設(shè)計(jì)和配置,可以適應(yīng)不同的處理器核心數(shù)量和布局,同時(shí)支持快速的系統(tǒng)擴(kuò)展。
高性能:NoC具有高帶寬和低延遲的特點(diǎn),可以支持高效的多處理器并行計(jì)算和數(shù)據(jù)交換。
低功耗:由于NoC采用點(diǎn)對(duì)點(diǎn)的通信機(jī)制,相比于總線結(jié)構(gòu)具有更少的冗余傳輸,因此能夠降低功耗。
可靠性:NoC具有高度的可靠性和容錯(cuò)能力,由于采用冗余鏈路和路由算法,能夠快速檢測(cè)和恢復(fù)故障,從而保證系統(tǒng)的穩(wěn)定性和可靠性。
3NoC架構(gòu)
NoC 架構(gòu)主要由三個(gè)模塊組成。
第一個(gè)也是最重要的,是物理連接節(jié)點(diǎn)并實(shí)現(xiàn)通信的鏈路。
第二個(gè)是路由器,實(shí)現(xiàn)通信協(xié)議。
最后一個(gè)是網(wǎng)絡(luò)適配器 (NA) 或網(wǎng)絡(luò)接口 (NI),在 IP 核和網(wǎng)絡(luò)之間建立邏輯連接。
| 圖:網(wǎng)狀拓?fù)渲械牡湫?NoC 架構(gòu)
鏈路:鏈路是路由器之間傳輸數(shù)據(jù)的物理通道,可以是電氣信號(hào)線、光纖、無(wú)線信號(hào)等。 鏈路的帶寬和延遲是影響NoC性能的重要因素,因此鏈路的設(shè)計(jì)需要充分考慮數(shù)據(jù)傳輸?shù)乃俣群涂煽啃浴?/p>
路由器:路由器是NoC的基本組成部分,用于連接芯片內(nèi)部的各個(gè)處理器、存儲(chǔ)器、I/O等單元。 路由器的作用是負(fù)責(zé)接收來(lái)自不同節(jié)點(diǎn)的數(shù)據(jù),然后根據(jù)預(yù)先定義的路由算法,將數(shù)據(jù)轉(zhuǎn)發(fā)到目標(biāo)節(jié)點(diǎn)。 路由器通常具有多個(gè)輸入端口和輸出端口,可以同時(shí)處理多條數(shù)據(jù)流。 路由器還包含一個(gè)邏輯塊,實(shí)現(xiàn)流控制策略(路由、仲裁器等),并定義通過(guò)NoC移動(dòng)數(shù)據(jù)的總體策略。
| 圖:路由器的通用架構(gòu)
網(wǎng)絡(luò)接口/適配器:這部分負(fù)責(zé)在IP核和網(wǎng)絡(luò)之間建立邏輯連接,因?yàn)槊總€(gè) IP 都可能具有與網(wǎng)絡(luò)相關(guān)的不同接口協(xié)議。 這部分很重要,它實(shí)現(xiàn)了計(jì)算和通信之間的分離,允許相互獨(dú)立地重用核心和通信基礎(chǔ)設(shè)施。
NoC還支持多種通信協(xié)議,包括高速緩存一致性協(xié)議、DMA協(xié)議等,讓它們可以更好地支持多核處理器系統(tǒng)和分布式計(jì)算應(yīng)用。
4NoC的拓?fù)浣Y(jié)構(gòu)
NoC的拓?fù)浣Y(jié)構(gòu)是指路由器之間的連接方式,常見(jiàn)的拓?fù)浣Y(jié)構(gòu)包括環(huán)形,星形,Mesh,樹(shù)形,胖樹(shù)形,蝴蝶形和環(huán)面等。
環(huán)形:所有節(jié)點(diǎn)都以環(huán)狀方式連接,它的優(yōu)點(diǎn)包括:(1)電纜故障容易定位,故障排除更容易。 (2)安裝比較容易。 局限性包括:(1)網(wǎng)絡(luò)擴(kuò)容可能導(dǎo)致網(wǎng)絡(luò)中斷。 (2)即使是電纜的一個(gè)斷裂也會(huì)破壞整個(gè)網(wǎng)絡(luò)。
星形:星形拓?fù)渲睆叫?,平均跳躍距離小,同時(shí)操作簡(jiǎn)單,每個(gè)節(jié)點(diǎn)都是隔離的,不受故障節(jié)點(diǎn)的影響。 不過(guò)中心節(jié)點(diǎn)是瓶頸,中心節(jié)點(diǎn)故障會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)故障。
Mesh:Mesh拓?fù)涫且环N基于網(wǎng)格形式的拓?fù)浣Y(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)都與周圍的節(jié)點(diǎn)相連。 在Mesh結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)只需要了解相鄰節(jié)點(diǎn)的地址,因此它的路由算法比較簡(jiǎn)單。 Mesh結(jié)構(gòu)的優(yōu)點(diǎn)是可以快速地進(jìn)行點(diǎn)到點(diǎn)通信,但是它的鏈路數(shù)目較多,容易出現(xiàn)擁塞。
Tree(樹(shù)形):樹(shù)形拓?fù)溆身敳浚ǜ┕?jié)點(diǎn)和底部(葉)節(jié)點(diǎn)組成,此拓?fù)渲械墓?jié)點(diǎn)可以訪問(wèn)更廣泛的網(wǎng)絡(luò)資源,并得到多家供應(yīng)商的支持。 但是,它的瓶頸是根節(jié)點(diǎn),根節(jié)點(diǎn)的故障會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的故障。 此外,隨著節(jié)點(diǎn)的增加,網(wǎng)絡(luò)配置會(huì)變得更加復(fù)雜。
Fat-tree(胖樹(shù)):Fat-tree拓?fù)涫且环N基于樹(shù)形的拓?fù)浣Y(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)都具有多個(gè)輸入端口和輸出端口。 Fat-tree結(jié)構(gòu)的優(yōu)點(diǎn)是具有較好的可擴(kuò)展性和高帶寬,但是它的路由算法比較復(fù)雜,并且需要更多的硬件資源來(lái)實(shí)現(xiàn)。
蝴蝶形:基本的蝴蝶架構(gòu)從源節(jié)點(diǎn)到目的節(jié)點(diǎn)只有一條路徑,缺乏路徑多樣性,導(dǎo)致鏈路容錯(cuò)性低,帶寬低。 此外,這種拓?fù)浣Y(jié)構(gòu)通常需要很長(zhǎng)的電線,復(fù)雜的電線布局會(huì)導(dǎo)致更多的能源消耗。
Torus(環(huán)面):Torus拓?fù)浣Y(jié)構(gòu)是一種基于環(huán)形的拓?fù)浣Y(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)都與周圍的節(jié)點(diǎn)相連,并形成一個(gè)環(huán)形結(jié)構(gòu)。 在Torus結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)可以看作是環(huán)上的一個(gè)點(diǎn),可以通過(guò)不同的路徑快速地到達(dá)目標(biāo)節(jié)點(diǎn)。 Torus結(jié)構(gòu)的優(yōu)點(diǎn)是具有良好的擴(kuò)展性和可靠性,但是它的路由算法比Mesh結(jié)構(gòu)要復(fù)雜一些。
此外還有立方體架構(gòu),它的主要缺點(diǎn)是由于度的限制,其網(wǎng)絡(luò)規(guī)模會(huì)受到限制。 為了解決這個(gè)問(wèn)題,已經(jīng)提出了各種變體,例如折疊超立方體、雙立方體、交叉立方體、立方體連接循環(huán)、層次立方體和元立方體等等。
不同的拓?fù)浣Y(jié)構(gòu)具有不同的優(yōu)缺點(diǎn),具體應(yīng)用時(shí)需要根據(jù)系統(tǒng)的需求來(lái)選擇適合的拓?fù)洹?例如,在需要高帶寬和低延遲的場(chǎng)景中,可以選擇環(huán)面結(jié)構(gòu); 在需要高可擴(kuò)展性和高帶寬的場(chǎng)景中,可以選擇胖樹(shù)結(jié)構(gòu)。 同時(shí),NoC的拓?fù)浣Y(jié)構(gòu)可以根據(jù)系統(tǒng)需求進(jìn)行優(yōu)化,還可以進(jìn)行混合結(jié)構(gòu)的設(shè)計(jì),充分利用不同拓?fù)浣Y(jié)構(gòu)的優(yōu)點(diǎn)。
5NoC挑戰(zhàn)
NoC 提供了一個(gè)可擴(kuò)展的模塊化平臺(tái),可提供高效的片上通信,以應(yīng)對(duì) SoC 集成的趨勢(shì),但是仍需要關(guān)注相關(guān)挑戰(zhàn)以進(jìn)一步提高系統(tǒng)性能。
鏈接
為數(shù)據(jù)傳輸選擇并行或串行鏈路一直是 NoC 中的主要問(wèn)題之一。 一方面,串行鏈路可以大大節(jié)省面積、降低噪聲和減少干擾。 但是,數(shù)據(jù)傳輸需要串行器和解串行器電路。 另一方面,并行鏈路有助于降低功耗,但由于其基于緩沖區(qū)的架構(gòu),它會(huì)占用更多面積。
路由器架構(gòu)
由于底層架構(gòu)必須體積小才能消耗更少的功率,路由協(xié)議設(shè)計(jì)呈現(xiàn)了成本和性能之間的權(quán)衡。 例如,復(fù)雜的路由協(xié)議會(huì)使路由器設(shè)計(jì)變得復(fù)雜。 這樣的話,會(huì)消耗更多的面積和功率。 簡(jiǎn)單的路由協(xié)議將是具有成本效益的解決方案,但其在流量路由方面的性能會(huì)相對(duì)較低。
面積/空間優(yōu)化
在 NoC 架構(gòu)中,通信通過(guò)連接的模塊通過(guò)路由器網(wǎng)絡(luò)以長(zhǎng)鏈路的方式進(jìn)行。 不同拓?fù)涞逆溌反笮?、?shù)據(jù)包大小、緩沖區(qū)大小、流量/擁塞控制和交換協(xié)議等各種方案不僅需要巨大的 NoC 設(shè)計(jì)空間,而且使開(kāi)放基準(zhǔn)測(cè)試具有挑戰(zhàn)性。 因此,為了提高系統(tǒng)性能,鏈路優(yōu)化勢(shì)在必行。 雖然這個(gè)問(wèn)題可以通過(guò)中繼器來(lái)解決,但會(huì)消耗更多的芯片面積。 同樣,為了促進(jìn)NoC技術(shù)的廣泛應(yīng)用,需要有效的空間評(píng)估和實(shí)施設(shè)計(jì)工具,這些工具可以與當(dāng)前的標(biāo)準(zhǔn)工具無(wú)縫集成。
延遲
在 NoC 中,延遲增加是由于 NI 數(shù)據(jù)打包/解包的額外延遲造成的。 它還可以歸因于容錯(cuò)協(xié)議開(kāi)銷和流量/擁塞控制延遲。 此外,由于競(jìng)爭(zhēng)和緩沖,路由延遲也會(huì)影響網(wǎng)絡(luò)性能。 因此,為了提高網(wǎng)絡(luò)性能(即滿足嚴(yán)格的延遲限制),需要原生 NoC 支持、低直徑拓?fù)浜透呒?jí)流量控制方法。
功耗泄漏
根據(jù)應(yīng)用的不同,NoC 中的鏈路利用率可能會(huì)有所不同,在某些情況下會(huì)非常低。 為了滿足最壞情況的要求,NoC 旨在保持冗余鏈路并在低鏈路利用率下運(yùn)行。 然而,即使是理想鏈路,由于相關(guān)的復(fù)雜路由邏輯塊和 NI,NoC 也會(huì)消耗相對(duì)較多的功率。 因此,為了進(jìn)一步提高其在減少泄漏功耗方面的性能,需要?jiǎng)?chuàng)新的架構(gòu)和電路技術(shù)。
6小 結(jié)
NoC技術(shù)作為新一代芯片設(shè)計(jì)的趨勢(shì),正逐漸得到廣泛的應(yīng)用。 通過(guò)采用高效的內(nèi)部通信架構(gòu)和靈活的互聯(lián)方式,NoC可以實(shí)現(xiàn)高性能、低功耗、可擴(kuò)展性和可靠性等優(yōu)勢(shì),為未來(lái)的人工智能、物聯(lián)網(wǎng)、自動(dòng)駕駛等新興領(lǐng)域的發(fā)展提供了重要的支撐。 盡管NoC技術(shù)還面臨著一些挑戰(zhàn)和困難,但隨著技術(shù)的不斷發(fā)展和應(yīng)用的推廣,NoC將會(huì)成為未來(lái)芯片設(shè)計(jì)的重要方向和趨勢(shì)。
審核編輯:湯梓紅
-
ARM
+關(guān)注
關(guān)注
134文章
9097瀏覽量
367585 -
soc
+關(guān)注
關(guān)注
38文章
4165瀏覽量
218272 -
總線
+關(guān)注
關(guān)注
10文章
2881瀏覽量
88090 -
芯片架構(gòu)
+關(guān)注
關(guān)注
1文章
30瀏覽量
14562 -
NoC
+關(guān)注
關(guān)注
0文章
38瀏覽量
11736
原文標(biāo)題:從SoC到NoC :芯片架構(gòu)的演進(jìn)與變革
文章出處:【微信號(hào):SDNLAB,微信公眾號(hào):SDNLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論