Intel和Facebook 都看好的技術(shù):NoC神奇在哪里?
日前,互聯(lián)網(wǎng)巨頭Facebook宣布了收購(gòu)片上網(wǎng)絡(luò)(network-on-chip,NoC)IP提供商Sonics,據(jù)悉Facebook會(huì)將Sonics的NoC技術(shù)應(yīng)用在其AR/VR相關(guān)的應(yīng)用中。除了Sonics之外,去年Intel也收購(gòu)了另一家NoC IP提供商N(yùn)etspeed,以至于目前在NoC領(lǐng)域,Arteris成為了唯一的獨(dú)立IP供應(yīng)商。為什么近年來巨頭動(dòng)作頻頻,爭(zhēng)相收購(gòu)NoC IP提供商呢?本文將為您做詳細(xì)分析。
片上網(wǎng)絡(luò)的歷史沿革
片上網(wǎng)絡(luò)(NoC)其實(shí)已經(jīng)有悠久的歷史,在2006年Arteris就推出了其***款商用NoC IP。為了理解NoC出現(xiàn)的原因,我們首先回顧一下NoC出現(xiàn)前的片上互聯(lián)方式。
傳統(tǒng)片上BUS總線(左)和Crossbar(右)互聯(lián)方式
在NoC出現(xiàn)之前,傳統(tǒng)的片上互聯(lián)方法包括Bus總線和Crossbar兩種。Bus總線的互聯(lián)方式即所有數(shù)據(jù)主從模塊都連接在同一個(gè)互聯(lián)矩陣上,當(dāng)有多個(gè)模塊同時(shí)需要使用總線傳輸數(shù)據(jù)時(shí),則采用仲裁的方法來確定誰能使用總線,在仲裁中獲得總線使用權(quán)限的設(shè)備則在完成數(shù)據(jù)讀寫后釋放總線。ARM著名的AXI、AHB、APB等互聯(lián)協(xié)議就是典型的總線型片上互聯(lián)。
除了總線互聯(lián)之外,另一種方法是Crossbar互聯(lián)。總線互聯(lián)同時(shí)只能有一對(duì)主從設(shè)備使用總線傳輸數(shù)據(jù),因此對(duì)于需要較大帶寬的架構(gòu)來說不一定夠用。除此之外,在一些系統(tǒng)架構(gòu)中,一個(gè)主設(shè)備的數(shù)據(jù)往往會(huì)需要同時(shí)廣播給多個(gè)從設(shè)備。在這種情況下,Crossbar就是更好的選擇。Crossbar的主要特性是可以同時(shí)實(shí)現(xiàn)多個(gè)主從設(shè)備的數(shù)據(jù)傳輸,同時(shí)能實(shí)現(xiàn)一個(gè)主設(shè)備對(duì)多個(gè)從設(shè)備進(jìn)行數(shù)據(jù)廣播。然而,Crossbar的主要問題是互聯(lián)線很復(fù)雜,給數(shù)字后端設(shè)計(jì)帶來了較大的挑戰(zhàn)。
與總線和Crossbar相比,NoC則是一種可擴(kuò)展性更好的設(shè)計(jì)。NoC從計(jì)算機(jī)網(wǎng)絡(luò)中獲取了靈感,在芯片上也實(shí)現(xiàn)了一個(gè)類似的網(wǎng)絡(luò)。在NoC架構(gòu)中,每一個(gè)模塊都連接到片上路由器,而模塊傳輸?shù)臄?shù)據(jù)則是形成了一個(gè)個(gè)數(shù)據(jù)包,通過路由器去送達(dá)數(shù)據(jù)包的目標(biāo)模塊。
與片上總線和Crossbar相比,NoC的主要優(yōu)勢(shì)可以體現(xiàn)在橫向和縱向兩方面。橫向的優(yōu)勢(shì)是指當(dāng)片上使用互聯(lián)的模塊數(shù)量增加時(shí),NoC的復(fù)雜度并不會(huì)上升很多。這也是符合直覺的,因?yàn)镹oC使用了類似計(jì)算機(jī)網(wǎng)絡(luò)的架構(gòu),因此可以更好地支持多個(gè)互聯(lián)模塊,同時(shí)可以輕松地加入更多互聯(lián)模塊——這和我們把一臺(tái)新的電腦接入互聯(lián)網(wǎng)而幾乎不會(huì)對(duì)互聯(lián)網(wǎng)造成影響一樣。與NoC相比,片上總線和Crossbar在互聯(lián)模塊數(shù)量上升時(shí)就顯得有些力不從心,尤其是Crossbar的互聯(lián)復(fù)雜性與互聯(lián)模塊的數(shù)量呈指數(shù)關(guān)系,因此一旦加入更多模組其后端物理設(shè)計(jì)就會(huì)要完全重做。當(dāng)然,NoC為了實(shí)現(xiàn)可擴(kuò)展性,也需要付出路由器邏輯之類的額外開銷。因此,在互聯(lián)模塊數(shù)量較少時(shí),片上總線和Crossbar因?yàn)樵O(shè)計(jì)簡(jiǎn)單而更適合;而一旦片上互聯(lián)模塊數(shù)量上升時(shí)(如大于30個(gè)模塊),NoC的優(yōu)勢(shì)就得到體現(xiàn),這時(shí)候路由器邏輯和網(wǎng)絡(luò)協(xié)議的開銷就可以忽略不計(jì),因此在互聯(lián)模塊數(shù)量較多時(shí)NoC可以實(shí)現(xiàn)更高的性能,同時(shí)面積卻更小。
NoC縱向的優(yōu)勢(shì)則來自于其物理層、傳輸層和接口是分開的。拿傳統(tǒng)的總線為例,ARM的AXI接口在不同的版本定義了不同的信號(hào),因此在使用不同版本的AXI時(shí)候,一方面模塊的接口邏輯要重寫,另一方面AXI矩陣的邏輯、物理實(shí)現(xiàn)和接口也要重寫,因此造成了IP復(fù)用和向后兼容上的麻煩。而NoC中,傳輸層、物理層和接口是分開的,因此用戶可以在傳輸層方便地自定義傳輸規(guī)則,而無需修改模塊接口,而另一方面?zhèn)鬏攲拥母膶?duì)于物理層互聯(lián)的影響也不大,因此不用擔(dān)心修改了傳輸層之后對(duì)于NoC的時(shí)鐘頻率造成顯著的影響。
異構(gòu)計(jì)算時(shí)代,NoC漸成主流
如前所述,一旦SoC上的模塊數(shù)量上升時(shí),NoC的優(yōu)勢(shì)就得到了體現(xiàn)。而在異構(gòu)計(jì)算逐漸成為主流的今天,NoC也就順應(yīng)潮流成為了系統(tǒng)中越來越重要的一部分。
眾所周知,隨著半導(dǎo)體工藝特征尺寸縮小越來越接近物理極限,半導(dǎo)體工藝的每一步前進(jìn)都要付出巨大的代價(jià),而摩爾定律對(duì)于每隔18個(gè)月集成度翻倍的預(yù)言也漸漸成為了歷史。在過去,根據(jù)摩爾定律縮小特征尺寸能帶來晶體管集成度上升,從而降低成本;另外晶體管面積縮小還帶來了性能上升。而在今天,由于先進(jìn)工藝制程越來越復(fù)雜,28nm之后晶體管縮小帶來的成本優(yōu)勢(shì)正在被巨大的一次NRE成本所抵消,更關(guān)鍵的是晶體管的性能在先進(jìn)工藝下的提升已經(jīng)逐漸趨近飽和。
在這樣的情況下,處理器芯片的性能提升已經(jīng)不能依賴半導(dǎo)體工藝帶來的晶體管性能提升,而是要更多地依靠芯片架構(gòu)上的提升。在芯片架構(gòu)方面,異構(gòu)計(jì)算在摩爾定律接近失效的今天得到了廣泛的認(rèn)可。
異構(gòu)計(jì)算芯片架構(gòu)示意圖
在摩爾定律的黃金時(shí)代,通用計(jì)算是時(shí)代的主流,因?yàn)殡S著摩爾定律的發(fā)展通用處理器的性能每過一段時(shí)間都會(huì)翻番,所以去設(shè)計(jì)專用化的處理模塊的意義并不大。相反,在摩爾定律接近實(shí)效的今天,為了能實(shí)現(xiàn)處理器性能的提升,最可行的方法就是針對(duì)每一種計(jì)算去設(shè)計(jì)專用的計(jì)算模塊,從而實(shí)現(xiàn)性能的提升,這也就是異構(gòu)計(jì)算的思路。異構(gòu)計(jì)算的芯片架構(gòu)中,多個(gè)專用計(jì)算模塊會(huì)通過片上互聯(lián)去訪問存儲(chǔ)器,同時(shí)也會(huì)通過片上互聯(lián)去互相通信,因此片上互聯(lián)在異構(gòu)計(jì)算時(shí)代正在扮演越來越重要的角色。而在使用異構(gòu)計(jì)算思想設(shè)計(jì)的SoC中,這樣的專用模塊數(shù)量正在上升到數(shù)十個(gè),因此NoC成了實(shí)現(xiàn)片上互聯(lián)的***實(shí)現(xiàn)方式。而隨著未來異構(gòu)計(jì)算范式得到更多認(rèn)可和應(yīng)用,我們可以預(yù)見片上互聯(lián)會(huì)需要連接越來越多數(shù)量的模塊,因此NoC設(shè)計(jì)的重要性也將會(huì)提升。
使用Sonics提供的NoC IP的芯片架構(gòu)示意圖
巨頭收購(gòu)NoC IP供應(yīng)商的背后
Facebook、Intel等巨頭收購(gòu)NoC IP供應(yīng)商,首先說明了NoC在今天SoC架構(gòu)中的重要性。如前所述,目前SoC架構(gòu)中,異構(gòu)計(jì)算正在成為主流架構(gòu)。“異構(gòu)計(jì)算”至少包含“異構(gòu)”和“計(jì)算”兩個(gè)方面,“異構(gòu)”意味著 SoC中不同IP的數(shù)量越來越多,而“計(jì)算”則意味著每個(gè)IP都會(huì)需要大量的數(shù)據(jù)以及相應(yīng)的帶寬以完成相應(yīng)任務(wù)。當(dāng)把多個(gè)IP以計(jì)算為目的組成異構(gòu)計(jì)算的芯片時(shí),片上互聯(lián)往往會(huì)成為性能的瓶頸,因此NoC這樣的先進(jìn)片上互聯(lián)架構(gòu)正好能幫助異構(gòu)計(jì)算架構(gòu)的芯片解決互聯(lián)瓶頸。去年Intel收購(gòu)NoC IP供應(yīng)商N(yùn)etspeed時(shí),時(shí)任Intel相關(guān)負(fù)責(zé)人的Jim Keller就在聲明中表示“Intel正在為芯片設(shè)計(jì)加入更多的專用(計(jì)算)特性,而Intel面臨的挑戰(zhàn)則來自于如何能在合理的時(shí)間和預(yù)算內(nèi)為每個(gè)專用計(jì)算設(shè)計(jì)***化的IP模塊”。Keller的聲明幾乎完全印證了異構(gòu)計(jì)算的思路,而Netspeed的NoC IP則能解決異構(gòu)計(jì)算芯片上的互聯(lián)瓶頸問題。
除了技術(shù)上的考慮之外,在商業(yè)上來說,巨頭收購(gòu)NoC IP供應(yīng)商可以從“進(jìn)攻”和“防守”兩個(gè)角度來理解。“進(jìn)攻”的角度上來說,由于NoC正在變得越來越重要,因此巨頭們希望能有自己獨(dú)特的NoC IP,在實(shí)現(xiàn)優(yōu)秀的性能之外,甚至有可能基于該IP做自己的獨(dú)特芯片架構(gòu),從而實(shí)現(xiàn)芯片性能的跨代式領(lǐng)先。如果要做這樣的定制化高性能NoC,與NoC IP廠商的通常性商務(wù)合作往往無法達(dá)到目的,而如果自己組建團(tuán)隊(duì)從頭做起則速度太慢,因此在NoC IP公司價(jià)格合理的情況下收購(gòu)是最合適的選擇。從“防守”的角度上來說,一旦為自己提供NoC IP的公司經(jīng)營(yíng)不善無法繼續(xù)提供IP,或者甚至被競(jìng)爭(zhēng)對(duì)手買走,那么自己要切換到另一家公司的NoC IP會(huì)需要許多時(shí)間,出于這種考慮,還不如把自己用得最順手的NoC IP公司直接買下,也就避免了這些麻煩。相信Facebook和Intel收購(gòu)NoC IP公司,都有出自于這兩方面的考慮。