引言:《一周易評》是網易科技頻道小編們就本周發生的一件新聞事件闡述個人觀點的新欄目。換句話說,就是小編們要在這里秀一下“智商下限”,還望網友們積極參與并踴躍吐槽。欄目將秉承“用事實說話”的原則,但若其中存在主觀性陳述,將僅代表小編個人意見。
本周發生了一件轟動全球半導體產業的大事件——英特爾斥巨資167億美元收購FPGA生產商Altera。此事件之所以被認為是一次產業地震,不僅僅是因為167億美元的交易堪稱英特爾歷史之最(公司手中現金不足,以致于要舉債來完成),更因為在這個交易的背后還很可能隱藏了一個未來足以顛覆整個計算產業的宏偉計劃。
當然,這個宏偉計劃跟中國其實并沒有太多的直接關系。本期標題之所以要扯上“國產芯”,更主要還是因為前幾期《一周易評》的經驗告訴小編——網友喜歡干貨,但一篇有內涵的文章里也同時還要有“槽點”才算成功。所以,小編今天的點評大體可以歸為如下三個章節:技術深入剖析、吐槽國產芯的差距,以及展望走捷徑的可行性。
技術知識科普篇
這里會涉及很多如CPU、GPU、FPGA、ASIC以及DSP等英文縮寫及半導體術語(急性子可以直接跳至下一章),為了盡量讓大家看得懂,小編會盡可能用接地氣的話來描述細節。當然,其中一些比喻可能不夠恰當,不準確之處還望網友指正和包容。
首先,我們要理清一個概念,那就是何為“計算芯片”,或者說“處理器”?對于很多人來說,“處理器”就是CPU。這種認識是不準確的!CPU只是傳統電腦里被稱為“中央處理器”的東西,準確來說它只是一顆“通用計算處理器”,注意這里特別強調的“通用”二字,也就是說,還有一些處理器是可以不通用的,而另作“專用”,譬如我們熟悉的GPU,即顯卡處理器。它的專用就是為圖像顯示進行復雜的浮點計算,但也因為硬件設計上的先天性,GPU在并行計算上要比CPU強大得多,所以就有了后來的GPGPU加速概念,被廣泛應用于超級計算機領域。
GPU只是千百種具備專業用途的處理器芯片中的一種,因為廣為用戶熟知,所以小編就先拿出來舉個例子。而其他常見的“專用”處理器還包括了DSP及FPGA等等。
DSP英文全稱翻譯過來就是“數字信號處理器”,是幾乎每部手機里都會有的一個小芯片——其作用很簡單,就是對無線信號進行一個處理,譬如過濾雜波等等,這個過程也是在進行各種計算,所以DSP也是“計算芯片”的一種形式。
從嚴格意義來說,FPGA并不能算是一種專用處理芯片,因為這東西全稱叫“現場可編程邏輯門陣列”,即:可以將內部的一個區域通過軟件程序變成一個具備特定功能的芯片(多個區域扮演不同功能的芯片并聯合起來,就能實現更強大的功能)。換用通俗一點的話來說,就是你想讓FPGA變成GPU,它就可以變成GPU;而你想要它成為DSP,它就是DSP了……AMD和英偉達在設計新顯卡時,其實都是先通過FPGA進行流片測試的。所以,FPGA不是一種專用處理芯片,而是多種或者說萬能的處理芯片。
FPGA如此強大,但這與一直依賴CPU為主要業務的英特爾有何關系?難不成后者打算自廢武功,從此改為推FPGA不成?也不是,CPU作為通用計算處理器,其在邏輯計算(判斷真或假)方面的優勢是其他數學計算(加減乘除)處理器不可替代的,因此幾年前業界就有了一個共識——未來處理芯片必將是以“異構架構”為主導的一種趨勢,即:用CPU搭上某種其他處理芯片配合使用。說到“異構架構”,這里大家比較熟悉的可能是AMD提出的APU產品。APU是消費市場的東西,是傳統CPU + GPU的一種異構搭配。而在企業市場上,同樣是基于CPU + GPU的異構設計,方案有來自英特爾的Xeon Phi,以及IBM和英偉達的Power + CUDA等……只不過,財大氣粗的英特爾比大家都看得更遠——其在2014年6月低調發布了一款集成FPGA的Xeon處理器,這是首款X86 CPU + FPGA的異構設計(Xinlinx和Altera一直都有ARM + FPGA的異構設計SoC),但卻預示了未來英特爾要利用FPGA的一切優點進一步顛覆企業市場的決心——所以,小編最初在3月份看到英特爾打算收購Altera的傳聞時,完全不感到驚訝。
前面小編說了FPGA可以像“孫悟空72變”一樣被編譯成任何功能的芯片,但沒有具體說其中又是如何實現加速的。那么,這里我們要先了解一下ASIC(專用集成電路)這個概念。ASIC簡單說就是一種通過電路設計,從硬件上去實現軟件算法的芯片方案,譬如我們前面提到的DSP濾波功能——天線接收到的信號波有很多為雜波,現實里我們有各種算法去過濾它們。這些算法可以寫成公式,然后用軟件計算來完成過濾,也可以是通過電阻、電容、多路轉換器等電子元件的搭配,以硬件手段來實現。很顯然,從硬件上去實現算法會比用軟件計算要快得多,而FPGA可以隨意被編程為某一特定功能的ASIC的特性,自然也就能讓其某些領域里獨領風騷。如果小編沒記錯,微軟必應和百度都在去年宣布了利用FPGA實現搜索加速的消息,Facebook和谷歌其實也在做著同樣的優化。所以說,英特爾看好CPU + FPGA的未來是有遠見的。而隨著云技術的進一步普及,及市場對數據中心要求的進一步提高,這一切對于英特爾而言也就意味著滾滾不斷的財源。
技術內容談到這里,很多網友可能又要給AMD判死刑了,GPGPU敵不過CPU + FPGA,未來難道英特爾一家獨大?也不完全是。其實FPGA比GPGPU加速更優勢的主要一點在于功耗,而至于加速效果則要考慮多個方面的綜合因素。首先,給FPGA編程并不是一件容易的事情。其次,想要讓FPGA實現加速,起碼要有相當的ASIC設計經驗,而這又是一個不低的門檻。相比之下,GPGPU因為發展較早,已經有了像OpenCL這樣比較開放的行業標準,因此代碼的優化、開發人員的生態建立都比FPGA完善。此外,過去要實現GPGPU加速,CPU數據總是要先從內存復制到GPU顯存后才能進行加速處理,而處理完后,數據還要再復制回內存才可被CPU調用……這種局限性制約了GPGPU的加速效率,不過所幸的是此“落后”技術在HSA基金會確立HSA 1.0標準后已發生了根本性改變(請參閱小編此前介紹AMD的《一周易評》)。未來企業級APU解決方案(內嵌HBM內存顆粒的APU產品)應該會在超算市場上保留相當的競爭力,尤其是性價比方面——FPGA其實并不是新鮮事物,但價格卻一直高高在上,所以迄今也沒有被大規模普及。英特爾收購Altera能起到促進作用,但短期內也是難以改變眼下的事實。
前面提到CPU + GPU或者CPU + FPGA的異構設計,其實主要是為了指引出一個計算領域的未來方向,而不是要比較孰優孰劣。簡單一句話,單純的CPU在未來是很難滿足人類計算需求了。而如果不是一顆擁有異構架構設計的處理器,恐怕未來也很難在動則以EB(=1 000 000 TB)甚至ZB(=1000EB)為計數單位的數據中心里出現。
然而……當國外技術已先進到可以將不同功能的處理內核整合到一起,并封裝成SoC或APU時(可不是簡單的拼積木哦,CPU和GPU共享內存絕對不是1+1的拼湊),我們的國產芯卻還在糾結CPU架構的自主設計,以及某項指標能否媲美英特爾若干年前水平……小編難免不對這樣的現實感到淡淡的憂傷,難免不去感嘆彼此間技術的巨大差距——我們總說我們只花了十年就追趕上了歐美20年的發展——其實并沒有!CPU某些指標可能是拉近距離了,但人家20年的經驗累積使得在其他方面的技術推動和產業整合上又比我們快了不知道多少倍……
吐槽一下國產芯的巨大差距
吐槽前,小編要先表明一下態度:小編支持國產芯的發展,且異常堅定。說是吐槽,更多的是痛心。小編沒有看不起國產芯的意思,但是對于某些企業、負責人的德行和莫名自滿,打心里想罵幾句——少一些拋頭露面,少說些沒意義的話,多做點實事,認真搞科研,這才是眼下唯一應該有的態度。
說起國產芯,其實有兩大陣營:一個是龍芯系列(MIPS架構),另一個就是以華為、瑞芯微等為首的ARM架構芯片。
小編之前在某期《易評》里說過,所謂的自主架構設計其實就是在電路層面用自己的方式實現對某一指令集的兼容。所以,小編在這里要先幫龍芯說句話——雖然MIPS指令集是別人的,但具體實現的電路設計確實是龍芯公司自己搞出來的,因此也確實算得上自主設計。至于為什么不搞出一套自主知識產權的“國產指令集”?其實也不是不可以,只是這東西弄出來了也不會有任何人用,Linux內核不會去兼容、微軟Windows也不可能去兼容,沒有任何意義。至于ARM陣營,原本中國廠商都是采用ARM提供的公版內核設計的,但華為、瑞芯微等一些比較有實力的企業先后開始了自己的架構研發。這里拋開國產ARM架構的性能是否優異不談,這種主動嘗試掌握設計權的決心應該是值得稱贊的。
小編一開始就說了,本人非常堅定地支持發展國產芯。理由不必多說,大家看看美國禁止英特爾出口芯片給中國,以及美軍禁止使用聯想提供的服務器等新聞報道就能夠知道——在國家戰略層面上,發展國產芯是義不容辭的事情!
但是,雖說發展國產芯是涉及國家戰略意義的大事,但這并不等于我們就能以此為借口來綁架用戶,讓用戶為“國情”買單吧?這里小編特別想質疑一下龍芯的市場定位。其實從指令集和架構的先天性差異看,MIPS應該是比ARM更適合發展高端服務器的處理器架構,而我們的龍芯又有中科院支持,潛心研究幾年即使趕超不了歐美,自用也是勉強了……但結果,我們看到了龍芯迷你電腦、龍芯筆記本電腦以及龍芯臺式電腦——這是硬生生打造出了一整套垂直產業鏈啊。也不是說龍芯走垂直商業化道路不可以,但問題是產品本就還不具備競爭力,做出來的東西能賣嗎?于是又打著“國情牌”流竄于市場上,價格還不便宜!本來我們的技術就落后,資源也有限,把有限的資源和時間消耗在與供應商談產品設計、談市場推廣等方方面面,這不正是一種浪費嗎?
從2002年發布首款龍芯1處理器(主頻266 MHz),到2012年底發布8核的龍芯3B處理器(主頻1.05GHz),龍芯的確用十年就走完了英特爾20年的路——英特爾發布首個32位33 MHz的386處理器是在1985年,首個1 GHz奔騰處理器是在2000年,而首個雙核心奔騰D處理器則是在2005年。但同樣是從2002到2012年,英特爾先于2009年發布了迄今仍無對手的Core i系列處理器架構,后又在2012年推出了全球首個采用3D晶體管制造的CPU;即使是臺面上輸得一塌糊涂的AMD,也在百般困難中于2011年發布了首顆APU……試問,再給我們一個十年,我們能追上Core i架構和APU架構嗎?時間并沒有因為我們追趕而停止,當我們在跑時,別人也沒有停下。
不說距離我們太遙遠的10nm生產工藝(英特爾在全球獨領風騷的制程技術),就拿網民都喜歡調侃的AMD及其APU來說,我們有嗎?十多年來,我們只是發展出了一些個自主設計的CPU架構,不管是借助ARM的幫忙,還是完全的自主原創。可是,我們的GPU架構又在哪里?FPGA更是望塵莫及吧(小編自我糾正一下:國內已經有一些海歸團隊開始自己的FPGA芯片設計,這是一個好的現象,但仍需大量經驗累積)?我們用了十年去追逐CPU的發展,而美國用了十年就把CPU和GPU給融合了……這十年間,我們等同于在跑單核,而國外卻是CPU、GPU、FPGA多核齊刷……我們用十年追趕了人家20年?這句話今天也就能哄哄祖國的花朵了。
我們發展自主CPU究竟是為什么?如果是為了成本和產品多樣化,華為、瑞芯微目前做的算可以了。如果我們是先打出國家戰略這張牌,那么我們這里談的就是未來技術,未來的計算機處理能力——這是一種遠超CPU可以提供的計算能力,別說我們目前還沒有掌握,即使是地位不斷被弱化的CPU,我們也只有一個半成熟的自主架構。對于這樣一個實事,小編更多地是感到憂心,而不是自滿,更談不上值得炫耀!
異構APU比CPU的優勢有多大?給大家一個實例:最優秀的龍芯3B號稱單雙精度浮點峰值性能分別達到256和128 GFlops,AMD用在PlayStation 4上的APU有1.84 TFlops(單精度,雙精度不詳,但后者不是游戲機要求的性能,不過AMD雙精度性能一直是業界最優的,這也是個事實),用在Xbox One上的APU有1.31 TFlops……隨便都甩龍芯幾條街了,況且這還是民用級產品,可見發展異構架構的必然性和必須性。
可惜,我們沒有自主GPU架構怎么辦?買授權和收購是兩條捷徑,但是……
展望未來國產芯的發展可能
總結一下前面長篇大論下的兩個實事:1.異構處理器是未來高性能計算的必備;2.我們有自主CPU架構,但沒有GPU和FPGA這些“高級貨”。
沒有怎么辦?自我研發太耗時,買唄!ARM有一個圖形處理內核Mali,這是可以被授權給其他公司使用的,就像公版的ARM處理內核一樣。事實上,英偉達也開放Maxwell的架構授權,AMD也開放GCN架構的授權……只不過,用人家授權的架構永遠有一種“寄人籬下”的感覺,東西不是自己的,使用好壞還要看人臉色。從極端情況來說(盡管不太可能發生),美國政府可以禁止出口CPU,也就能禁止授權GPU架構。不是自己的知識產權,說沒有還真突然就沒有了。
想要徹底一點擁有別人的技術,那就只好去收購別人的公司及專利——譬如某些國人特別津津樂道的收購AMD啦、收購MIPS啦、收購GlobalFoundries等等……MIPS當年倒是有可能被收購,但可惜了,ARM和Inmagination于三年前已捷足先登。至于另外兩個,小編必須得抱歉地給抱有這些幻想的企業家們潑盆冷水——不可能!想都不用想,美國政府堅決不會同意,就算政府表面妥協了,英特爾也不會同意。
這里,小編作為一個曾經深入研究過AMD和英特爾專利交叉授權的人(原版協議:http://www.sec.gov/Archives/edgar/data/2488/000119312509236705/dex102.htm),可以負責任地給大家剖析一下為什么中國企業不應該浪費生命在考慮如何收購AMD或者GlobalFoundries身上。
首先,美國政府視X86處理器技術為尖端技術,不會允許被視為“假想敵”的中國購買和掌握。這是政府層面的政治考慮,小編就不多說了。假設,如果我們過了政府這一關,我們接下來就要面對繁瑣和嚴苛的專利交叉授權了(這也是讓很多想收購AMD的公司望而卻步的原因所在)。
交叉授權規定,任何一方只要破產、控制人發生變化(某一股東持股比例超過50%),當前的交叉授權立即作廢(參見原版協議5.2章節)。作廢對雙方公司都生效,因此并不存在只有某一方作廢,而另一方仍被允許使用對方專利技術的情況——不要小看AMD,X86-64的專利大多在AMD手上,作廢了英特爾也舉步艱難。所以,這種交叉捆綁的限制讓雙方的談判有了很多的周旋余地。
那么是不是任何一家公司只要收購了AMD,就立刻失去X86授權?表面上是,但是——2009年,美國聯邦貿易委員會(FTC)對英特爾的反壟斷裁決里(鏈接地址:https://www.ftc.gov/sites/default/files/documents/cases/101102inteldo.pdf)給出了如下這么一條解釋:“如果AMD因為被收購而導致交叉授權協議作廢,在控制人發生改變后(被收購)的一年內,英特爾不可以就X86的專利授權問題提起起訴,而更應該積極地展開新的談判。”
這里又談到了美國政府。所以還是那句話,中國企業想要收購AMD直接獲得CPU和GPU的各種福利,是完全不可能的。先是美國商務部不會同意,即使礙于面子勉強答應,英特爾也必定選擇撤回專利授權,而這時候美國政府總不會因為中國企業去處罰英特爾吧?大家做做樣子,最后還是不會同意(收購GlobalFoundries也會是這個結果,英特爾將拒絕繼續授權)。
倒是韓國三星如果真有興趣收購AMD,美國或許會答應。畢竟韓國在政治上算得上美國的戰略同盟國,地位非凡啊。
不能買,不能收購,想要掌握尖端處理芯片技術,中國還真只能靠自己。話說在硅谷設計芯片的高級工程師,包括英偉達和AMD的兩位CEO,很多都是華人。如果中科院真心想要發展長久之計,建議還是從招攬人才這個方向下手。當然,人歸不歸,國家要不要下血本發展CPU以外的芯片技術,這都不是小編要談論的內容了。
這里小編要補充一段,國內有一些由海歸工程師組成的FPGA芯片設計公司在近幾年里陸續出現。這正是上一段小編所呼吁的一種發展途徑。因為FPGA畢竟是國外最先提出的技術,所以國內很多FPGA設計團隊都是游走在“灰色地帶”的(沒有技術授權)。不過這并沒有關系,隨著時間推移,經驗的累積,自主的FPGA技術是慢慢會有的。當然,距離實現CPU + FPGA這種異構設計,則恐怕還有相當一段路程。
小編胡亂寫了一通,只想說:其實我們的半導體技術真的很落后。那么多年搞出個CPU,其實本就沒什么,但一些人卻沾沾自喜,完全忘記了整個行業變遷的方向。而在新的領域里,除了半成品的CPU,我們啥都沒有。偶爾有一兩個博士愿意歸國,結果還被美國以偷芯片為由給抓了……我們有的最多的就是一群喜歡暴著青筋在網上對罵的“鍵盤俠”——這些可都是牛人,什么都懂,什么都看不起。在他們眼里,世界上最能賺錢的蘋果是一家沒啥真正技術實力的奸商;為中國企業鞠躬盡瘁的谷歌則是產品體驗爛得一塌糊涂的惡霸;還有微軟和IBM,全都是不思進取的典范;最后是一文不值的AMD,產品差、技術差……哎,可就這個讓我們“看不入眼”的技術,卻是我們苦苦求都求不來的東西。