龍芯中科、上海高性能集成電路設計中心、國防科大是國內為數不多的走自主路線的IC設計單位,龍芯、申威、飛騰更是承載著國人的希望。龍芯和麒麟操作系統自誕生之初就居于社會輿論的風口浪尖,褒獎和貶低不絕于耳;飛騰和申威的軍方項目更是給他們披上一層神秘的面紗。記者專訪了龍芯中科總裁胡偉武,揭示自主可控基礎軟硬件發展之路的艱辛與國產基礎軟硬件發展的現狀。
記者:自主可控基礎軟硬件方面內容,能具體說說嗎?
胡偉武:自主可控軟硬件就是從基礎軟件和基礎硬件方面實現自主可控,實現全國產化。從“十五”期間開始做,在十多年的時間里飽受質疑,經過十多年的發展,我們已經用實踐回答了“自主可控軟硬件要不要做的問題、能不能做的問題、能不能用的問題”,而且已經積攢了一定力量,形成了一定勢力,建立了一些根據地,已經到了發展的分水嶺階段,需要聯合學術界和產業界更多的朋友,來把自主可控軟硬件做大做強。
記者:那現在中國基礎軟硬件到底發展到什么水平了?
胡偉武:以汽車來打個比方吧,從產品的角度,一般的汽車時速200—300公里,現在自主軟硬件大致處于時速100—150公里的水平;或者說相對于進口產品,我們做到了奇瑞的水平。當然局部已經取得了不少可喜的成績,甚至可以做到和西方比肩的水平,比如上海高性能集成電路設計中心的眾核芯片,但總體上和國外還是有較大差距。
記者:那能具體說說有哪些可喜的成績嗎?
胡偉武:最可喜的成績是用起來了——在一些特定的領域,尤其是和國家安全緊密相關的戰略領域,自主CPU已經被全面用來了。
做一款產品,一方面在于研,另一方面在于用。以前我們在院所做科研,經常說科研成果達到國外什么水平。確實,我們的科研成果在某些指標上不比國外的差,甚至還有超越,但存在一些短板,導致科研成果用不起來。因為一個產品能不能用,不是看長板,而是看短板,我們以前只是著眼于技術長坂,對很多技術短板缺乏技術積累,現在逐步補齊這些技術短板,所以逐步被用起來了,并建立了幾塊產業根據地。而且龍芯在使用中不斷發現問題,得到反饋后解決問題,不斷改進,形成螺旋式上升,這是最大的突破,也是最可喜的成績。
記者:能具體說說在那些領域建立了產業根據地嗎?
胡偉武:有很多,比如高性能計算、北斗衛星導航、武器裝備、工業控制等好多方面都在用龍芯。
記者:一個月前,網絡上有一篇談龍芯和申威的文章里對自主可控做了如下解釋:
自主,顧名思義,是自主知識產權,不需要給國外繳納專利費,可以自由選擇發展方向和技術路線。以龍芯和申威為例,兩者都可以自由擴展指令集;而從國外購買指令集授權的話,不僅要支付一筆授權費,而且授權到期要再購買一次,外商每一次更新指令集還要再購買一次。另外,還會受到很多限制,比如用途被限制,外商限制——只能用來做服務器芯片,不能用來做桌面芯片和手機芯片;比如不具備發展權,不能擴展指令集,只能按照國外巨頭的劃定路線圖走,跟在身后亦步亦趨。
可控,指的是芯片安全可控。無論是自主指令集還是購買國外指令集,只要是獨立自主設計微結構,就不存在安全問題。但如果是購買國外微結構授權或者仿制國外CPU則存在安全隱患。因為買到的微結構若不是開源的,對于國內廠商來說就是一個黑箱;即使是開源的,光指令系統里的源碼至少一兩千萬行,在完全吃透技術以前,根本沒法保證里面沒有安全隱患;仿制國外CPU很容易陷入知其然,不知其所以然的情況,無法識別CPU里的到底有沒有后門電路。
請問,您對這種說法認同么?
胡偉武:剛才說的觀點,從過程角度說我是很同意的。我從另外一個角度看,就是一定要形成自己的能力。國內公司可以從國外買技術、買產品,然后貼上自己的牌子,宣稱這是國產。但是能力是買不來的,你買來的產品和技術,在性能、功耗、安全方面你說了不算——因為你沒有這方面的能力去提升性能、降低功耗,也沒有能力去讀懂外商賣給你的源碼,沒有能力去發現里面是否暗藏玄機。因為沒有自己的能力,無論是解決使用中遇到的問題,還是想要進一步發展技術,你都只能去找外商。
記者:實現基礎軟硬件自主可控的意義在哪里?
胡偉武:關于自主可控的意義,就是推翻兩座大山:一是國家安全受制于人;二是產業發展受制于人。只有建立自主可控的軟硬件技術體系,才能基于該技術體系進行持續改進,形成螺旋上升,否則在別人的技術體系中跟著升級,永遠沒有超越的機會,只能永遠落后。
記者:基礎軟硬件自主可控是指要研發自己的CPU和操作系統嗎?
胡偉武:CPU和操作系統都是實現基礎軟硬件自主可控的具體方法,是自主體系的一部分,而非體系的全部。基礎軟硬件包括CPU、DSP、操作系統、數據庫、中間件、辦公軟件等方面。單單有個CPU或者操作系統,無法做到獨立自主,只有體系自主才是是真正自主。目前IT產業主要由Wintel體系和ARM+Android體系來支撐,只有建立能與前兩者抗衡的自主體系,才能實現真正的自主可控。
記者:建立能與Wintel體系、AA體系相抗衡的自主體系,這個目標非常遠大,很多人想都不敢想。以中國現在的實力,有建立這樣一個體系的可行性嗎?
胡偉武:中國要發展自主可控體系還是有一定基礎的。我們可以把IT產業從技術上分為三個層次:一是應用層,中國的應用層是比較不錯的,比如有BAT等互聯網巨頭;我們的整機產業也很不錯,有華為、聯想這些巨頭;但中國的基礎軟硬件就不行了,比如CPU、操作系統、數據庫這些和國外都有一定差距。其實,只要我們把國產CPU、操作系統和應用層、整機產業實現對接,以應用為牽引,自主體系就有可能發展起來。
記者:那如何發展自主可控體系呢?
胡偉武:我們過去有個誤區,覺得自主體系的關鍵是指令集系統。其實我們要和應用對接,應用并不關注你的指令系統,只關注你的API。因此,體系的樞紐是API,操作系統和應用程序的接口才是構建體系的關鍵。
具體來說,那些是API呢?B/S應用的JavaScript、C/S應用的QT、服務器和安卓應用的Java這些都是API,像安卓的成功就是API的成功。體系建設首先要把API做好,建成體系后落腳點才在指令系統上。只要把API這個樞紐抓住了,體系建設也沒有大家想象的那么難,那么復雜。另外,商業模式上要以應用為牽引。政府不要只給錢讓CPU企業關起門來搞研發,應該牽頭讓一些單位去用這些CPU,在使用中發現問題,軟硬件結合,對全系統進行優化,最后逐步形成自己的體系。
記者:說到全系統優化,想起專題論壇中看到的例子——某數據庫應用,HP的X86服務器需要50分鐘,龍芯服務器優化前8小時,優化后80秒;某圖形應用,X86 i7平臺每秒40幀,龍芯平臺優化前每秒不到1幀,優化后每秒80幀;某指揮系統(GIS)應用,X86 i7平臺每秒20幀,龍芯平臺優化前每秒3幀,優化后每秒30幀。非常好奇這是怎么做到的?
胡偉武:因為你用國外的產品,人家賣給你什么就是什么,它的產品你說了不算;用龍芯、中標麒麟和達夢這些軟硬件,在使用中發現問題,可以做改進,產品的性能、功耗、安全性等方面我們自己說了算。這其實就是我剛才說的,要以應用為牽引,在使用中通過軟硬件磨合,提升系統性能。類似的應用做的多了,自己的體系也就構建起來了。
記者:那發展自主可控體系的薄弱環節在哪里?
胡偉武:基礎軟硬件總體上都是薄弱環節,但最薄弱的環節是API,整機系統性能瓶頸也在于API相關軟件不行,我國在API基礎軟件方面沒有積累,API的差距比CPU的差距大得多。中國寫Java的程序員有上百萬人,寫JavaScript的程序員也有上百萬人,寫QT的也很多,但Java虛擬機、JavaScript引擎、QT庫卻沒多少人干。基礎軟硬件要把這幾塊做起來,就能夠打破硬件、操作系統、應用層之間的藩籬,實現基礎軟硬件和應用層的對接。
記者:為什么我們很容易買到搭載華為海思芯片的手機,但卻很難在市場上買到龍芯的產品?
胡偉武:華為是垂直整合,垂直整合在商業上是比較好做。龍芯是Intel的商業模式,是做產業生態,一個是做產品,一個是做生態,因此,龍芯肯定是慢一些。
記者:我們知道華為為了扶持自己的麒麟芯片不計成本,還犧牲華為終端的利益,在2年時間里堅持在華為中高端機型上使用功耗大、兼容差、小毛病多的K3V2。垂直整合優勢是指龍芯必須在價格、性能、軟件生態上取得相對優勢后才會有企業來采購,無法做到華為海思的麒麟芯片自產自用自銷?
胡偉武:還有一方面就是技術路線的選擇。海思選擇購買ARM公司的IP核授權集成SOC的技術路線,依附于AA體系后市場化運營要容易的多。
龍芯走獨立自主路線,就必須事必躬親,建立一個足以和Wintel體系和AA體系相抗衡的自主體系——自己擴展指令集、自己設計微結構、自己開發編譯器和社區版操作系統、自己構建產業聯盟和軟件生態......什么事情都自己做......不僅工作量非常大,技術門檻比較高,而且還造成龍芯的產品和現有的軟件生態都不兼容,市場化運營難度大。而國內的ARM陣營廠商,很多事情ARM和谷歌等國外公司都已經幫它們做好了,只需要給AA體系當馬仔就可以了——在硬件方面只需要購買ARM的IP核集成SOC;軟件方面依賴谷歌等公司,運行安卓系統,兼容安卓的軟件生態。因此,技術門檻,研發的時間成本、資金成本都被大幅降低,也不存在像龍芯那樣被產業聯盟弱小和軟件生態貧乏掣肘的情況,所以市場化運營的道路就比較順利。
記者:那我們何時能在市場上買到價格便宜又好用的龍芯電腦呢?
胡偉武:像大家比較關心的,比如家用PC和服務器,因為這些產品的產業鏈比較長,軟件生態非常豐富,龍芯電腦在整機性能、價格、軟件生態方面處于劣勢,無力硬撼國外巨頭,要想在這方面有所建樹,難度非常大。目前,龍芯也沒有涉足消費品電子市場的實力,所以龍芯采取了優先滿足國家信息安全需要,后滿足普通消費者的需要的分步走戰略:
第一步滿足單一的應用,比如前面講到過的嵌入式芯片,通過嵌入式芯片從市場中賺錢,保障自己能在市場競爭中活下來,目前龍芯已基本滿足了單一應用的需求。
第二步是滿足比較固定和復雜的通用應用,比如辦公系統、信息化類的系統,因為這一類的應用邊界是比較清晰,基本上是政府的OA和辦公軟件,并且已經取得了一定成績,而且再過1—2年,龍芯就能基本滿足黨、政、軍在這方面的需求。
第三步才是比較商業化的、公眾的、開放的市場應用,這就需要更長的時間,要把自主軟硬件做到更好的程度。工信部有一個說法,只要一款芯片市場占有率超過5%,就會有大量的軟件廠商自愿加入到該軟件生態體系中。目前在桌面芯片市場基本被X86芯片壟斷情況下,要想打破壟斷,難度非常大,分步走的模式是比較現實的選擇。
記者:VIA、IBM找中國合作的目的是為了讓中國掏錢委托他們設計產品,進而將自己的產品打上國產標簽獲取中國政府的政策傾斜和國家資金扶持。
胡偉武:對。除非有足夠的證據證明,比如你做出了自己設計的微結構和CPU,否則ODM技術路線是不具備自主可控屬性的。而且我前面說過,CPU自主可控僅僅是自主可控體系的一部分,哪怕你做到了再創新,但技術體系是別人的,還是無法實現自主可控。
記者:那買ARM的IP核的技術路線?
胡偉武:我認為那種做法根本就不能叫設計CPU,應該叫SOC,因為芯片的性能、成本、功耗、安全性都體現在微結構上。購買現成的CPU核(ARM)、GPU核(Imagination、Mali)以及各種接口IP核(Synopsys),通過一定的流程,“攢”出SOC,這比“攢”電腦復雜一些,但復雜不了多少。
在整個過程中,因為不涉及自主設計微結構,既無法形成自己的能力,又無法掌握核心技術,更無法確保芯片安全可控。
記者:什么是微結構呢?
胡偉武:CPU的核心是微結構,舉例來說:
Intel的SandyBridge,IvyBridge、Haswell;
ARM的Cortex A9, A15, A17, A53, A57;
龍芯的GS232、GS264、GS464、GS464E;
只有微結構自主設計,才是掌握核心技術,才能保證芯片安全可控。
如果能證明你掌握了這個微結構,并有一定提升和發展,甚至做到自主創新,設計出了自己的微結構,也是可以的。但是又回到體系自主、生態自主的問題了,哪怕自己設計了兼容ARM V8指令的微結構,但是體系是ARM和谷歌的,而不是你自己的,這樣還是做不到自主可控。
記者:龍芯購買了MIPS永久授權,是否意味著自主可控技術路線的失敗?
胡偉武:這個問題已經講了很多次了,重新定義指令集技術上難度近乎于零,美國也一度禁止將單獨的指令集申請為專利,只有當指令集與實現方法相結合的時候才被允許申請專利。
研發兼容Mips指令集的CPU,就如同我們在數學上放棄了傳統的漢字而使用阿拉伯數字去證明數學定理,Mips指令集和阿拉伯數字只是知識的載體而非知識本身,真正具有價值的是指令集的實現方法和被證明的數學定理。
龍芯使用兼容Mips指令并不會對自主知識產權構成影響。真正對龍芯自主可控路線產生影響的是指令集的發展權——是否有資格自主擴展指令,是否能讓軟件生態跟著你的指揮棒走。而且在十幾年的發展中,龍芯對MIPS指令集進行了相當大的擴展,逐漸發展出了自己的指令集loongISA 。loongISA指令集共1907條指令,源自MIPS的有527條,其余都是龍芯自己擴展的。龍芯在MIPS的指令系統的創新方面已經遠遠超過了MIPS公司,之所以購買Mips指令永久授權主要是減少市場化過程中的麻煩。舉例來說,Transmeta公司曾經市場前景良好,但Intel起訴它,打了兩年官司。雖然最終Intel輸了,但兩年過程中沒有人敢跟Transmeta做生意, Transmeta被官司拖垮了。