用ARM公版就能搭出手機晶元SOC嗎?
好,來解答下這個問題。
一、先解釋下一款SoC是怎麼研發出來的?
智能手機的CPU絕大多數是基於ARM的指令集設計,而且很多是直接採用了公版內核,例如A15、A53、A57、A72。於是有些人就認為ARM掌握了晶元核心技術,其他廠商只需要買來ARM的公版內核組裝一下就行了,反正有台積電這樣的代工廠製造。所謂的8核處理器,就是8個ARM內核搭在一起。
可實際上呢?ARM只是給下游廠商開放了CPU核心架構的Verilog代碼、標準指令集,跟工藝不相關。如果要把ARM提供的東西做成一個SoC晶元,需要自己根據工藝的不同定製標準單元庫(觸發器、與非門)和memory,自己做後端Floorplan。簡言之,ARM提供的CPU僅僅是一個計算核心,並非手機晶元的全部,其他外圍設計都需要自己解決。也就是說,除了CPU以外,還需要自行設計包括GPU、匯流排、顯示加速器、ISP、視頻編解碼器、音頻處理器、Memory控制器、感測器處理單元,以及DDR、Flash、顯示介面、Camera介面、射頻RF、USB等對外介面。
要在一部只有手掌大小的智能手機上實現滿足人類信息化生活的大部分功能,系統級晶元(SoC)設計變得極其複雜。首先,一款手機SOC,集成上百種IP,要按時完成設計,架構設計上既需要避免各個模塊互相耦合以降低設計複雜度,同時還需要保證各個模塊配合工作時可以發揮出最佳性能,對設計人員是很大的挑戰。其次,控制手機的功耗,提升手機續航能力,實現手機的最佳能效比。要做到這兩點,除了要準確掌握ARM等廠商的產品開發進度外,還需要自研很多核心器件,同時軟硬體協同能力也需要足夠強勁。例如全鏈路QoS技術,保證優化CPUGPU對Memory訪問性能的同時,不出現顯示花屏、拍照花屏等情況;再次,封裝能力,麒麟高端SOC均採用業內主流的POP(Package On Package)封裝技術,實現DRAM和SoC的3D堆疊,既可提高集成度,確保產品的輕薄短小,又可保證高性能的高速存儲,是一項非常複雜的封裝技術。最後,還不能忽略先進的製造工藝,需要晶元廠商從技術和應用角度跟進。
CPU只是SoC的一個重要模塊。如果將手機晶元比作一輛車的話,那麼ARM提供的CPU只是一輛車的發動機原型,無法正常工作。你需要造一輛車出來,還得搭配上其他的底盤零部件、車身零部件、電氣零部件等等才行,同時你還需要設計車的外觀以及這些零部件在車內的組合結構,以及製造工藝能力。這過程中少一個螺絲或是任何一個環節的紕漏,都是功虧一簣。
二、再來講講華為麒麟950有什麼核心技術。
1)為什麼採用ARM內核?
首先糾正一個錯誤觀點:有些人看到高通和三星採用自研的CPU內核就覺得他們厲害,而麒麟950 採用ARM公版就顯得沒水平,這其實是一個非常大的誤解!試問大家,智能手機的核心需求是什麼?其實歸納起來就兩個詞:好用和耐用,也就是性能和功耗要達到平衡。是採用自研內核還是公版,還是要根據手機本身對能效比的需要制定的,這才是從用戶體驗角度出發的設計。
麒麟950採用了4個A72和4個A53,主頻最高為2.5GHz,可以說是從性能和功耗平衡的角度來綜合考慮的結果(驍龍810、820及三星8890均有功耗太大或發熱等問題)。A53功耗較低,而A72相比A57有約1.8倍的性能提升,在同樣的工作負載下,功耗降低50%左右,大小核搭配可使性能提升,同時功耗更低。A72在2015年2月份發布,按照ARM內核引入後十個月左右的研發流程,麒麟950 SoC正好踩到了時間點上。沒有華為晶元強大的SoC設計能力以及對ARM內核開發時間節奏的精準把握是很難辦到的。
2)自研設計部分。麒麟950並不是採用完全的公版CPU。ARM的核只是一個標準化的軟核,晶元廠商要根據自身的定位,定製標準單元庫(觸發器、與非門)和Memory,自己做物理實現,才能達到最終能效比。有時候,為了能夠達到最佳能效,僅Floorplan就要試驗上百次,更不要提版圖的繪製次數了。自研部分,從最底層的物理設計到上層軟體控制,都需要大量開發工作,整個Soc基礎架構包括CPU、互連和Memory系統三個部分,麒麟950的後面兩個都是華為自己做的,硬體方面包括ISP和基帶等也是自己研發。
3)常感知協處理器。麒麟950 SoC還增加了一顆業界性能最強的智能感知處理器i5,與大小核協同共享資源,由主系統進行智能調度,並能夠以極低的功耗,使手機處於Always Sensing(「常感知」)的狀態,消耗的電量遠遠低於主CPU。
4)基帶部分。當前手機晶元為了實現低功耗而高度集成,基帶也成了SoC的一部分,這其中的關鍵在於,基帶集成到SoC上能夠使PCB面積減少,管理更方便且成本更低,同時通信模塊和系統之間數據交互效率更高,可靠性也更高。麒麟950 SoC集成了自研的基帶,才使得華為Mate 8實現了性能和功耗的高度平衡。基帶集成代表著晶元廠商SoC的開發水平。
5)工藝方面。華為麒麟950採用了業界頂尖的TSMC 16nm FinFET plus製造工藝,是業界首款採用TSMC 16nm
FinFET plus工藝的手機SoC,表明華為晶元的設計能力站上了業界頂尖的行列。有人可能認為,16nm工藝是TSMC的本事,跟華為麒麟有什麼關係呢?但實際上,製造工藝是在SoC設計時就需要考慮的因素;而要採用最先進的製造工藝,設計廠商需提前完成大量的前期研發和IP儲備,而這些麒麟950都做到了。這同樣是一個複雜的話題,需要另外一篇長文才能說清楚。
6)知識產權方面。麒麟950實現了CPU、匯流排、顯示處理器、Memory控制器、GPU、Video編解碼器,Camera
ISP 、Audio 處理單元,感測器處理單元、存儲介面的高度集成和低功耗設計,擁有完全的知識產權。CPU是採用ARM的公版,後續的設計專利則是華為晶元擁有。我們認為自主創新並不是推倒一切重來:鉛筆和橡皮是創造,在鉛筆上加橡皮,就是創新。
結語
ARM只是掌握了CPU的核心技術,整個SoC還包括晶元的軟硬體開發、系統設計、研發全流程掌控以及晶元製造等。舉個例子:音符是大眾都知道的,但是要譜出好的樂曲,不是一般人可以完成的。ARM只是寫了音符,怎麼譜寫樂曲還要靠晶元廠商,譜曲很多廠商都會,譜的好聽就難了。這是大多數廠商無法自研晶元的關鍵原因。
搭出soc是一回事,搭出什麼樣的soc是一回事,搭出能買的出去的soc又是另外一回事。
arm只是一個核,還有無數外圍,基帶,內存控制什麼的,就算都可以買,整合起來也是難度
能,趕緊弄吧,簡單的很,連華為都行,其他廠子只是不屑於做而已,能買為什麼要自己做,這不是傻子嗎?(此處應該有反白)
額。建議在知乎再提問一個問題:既然處理器可以貼牌!那麼小米五為什麼苦等820出不來?
信不信雷布斯明天就做個比麒麟牛逼的PPT出來?當然可能有點兒發燒。
當然不是,就跟給你一把好的手術刀並不能完成一場手術一樣。
華為牛
自研晶元牛
推薦閱讀:
※如果想要分析一個未知晶元的功能,可以採用什麼方法?
※verilog代碼如何debug?
※Verilog 中定義信號為什麼要區分 wire 和 reg 兩種類型?
※如何評價英偉達發布的 Tesla V100 計算卡?
※片上網路NoC為何還沒有得到實際應用?