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