20年「煉出」中國首個自主CPU指令集架構 龍芯憑什麼?
美國對中國晶片行業的卡脖子,讓我們意識到在別人的牆基上砌房子,再大再漂亮也可能經不起風雨,甚至會不堪一擊。
也讓中國晶片行業吵了幾十年的「引進吸收」還是「自主研發」明確了方向,五中全會首次明確提出,要把科技自強自立作為國家發展戰略的支撐。
作為晶片產業最重要的晶片之一,CPU實現國產自主可控對支撐國家資訊產業發展和保證資訊安全都至關重要。
2021年4月15日,堅持了20年自主研發的龍芯中科技術股份有限公司正式推出龍芯自主指令系統架構LoongArch,實現了歷史性的突破,讓中國的晶片從必然王國走到自由王國。
完全自主在中國多次被「打假」後,龍芯自主指令系統架構(LoongArch)能否經得起檢驗?在強大的Wintel(Windows+Intel)和AA(Android+Arm)格局下,龍芯建立全球CPU的第三套生態有沒有機會成功?中國核心技術的發展,為什麼不應幻想彎道超車?
從MIPS到完全自主可控LoongArch
龍芯中科2010年脫胎於中科院計算所,很長一段時間,龍芯都是中國為數不多堅持CPU自研,走晶片自主可控路線的少數派。
公司創立的前五年,龍芯主攻工控市場,2015年龍芯CPU出貨幾萬顆,從無到萬顆用了五年。這並沒有動搖龍芯堅持自主可控的決心。
「十三五」期間,龍芯一方面繼續深耕工控市場,一方面開始進軍電子政務市場,出貨量不斷增加,2019年出貨幾十萬顆,從幾萬顆到幾十萬顆的出貨量用了四年。
2020年,龍芯自主CPU的出貨量又提升了一個數量級,達到了百萬級。龍芯中科董事長兼龍芯CPU首席科學家胡偉武告訴雷鋒網:「龍芯經過過去20年完成了技術補課,CPU不斷迭代,我覺得2022年我們的CPU能夠穩定在每年幾百萬片的出貨量,我們也將逐步走向開放市場。」
完成技術補課準備走向開放市場的龍芯在2018年左右發現,MIPS已經不是他們最好的選擇。
「龍芯過去基於MIPS指令系統研製CPU並發展軟體生態,經過20年的努力,不管是軟體生態還是CPU核,龍芯的設計都超過MIPS公司。MIPS社區大概三分之二的維護工作都是龍芯在做,像瀏覽器、Java、媒體播放器等,MIPS公司主要是維護CPU內核和基礎編譯器。另外,MIPS有些技術特徵很老了,MIPS頂層的64個指令槽基本上用完了,要加指令也比較難加了,像延遲槽也成為一個設計負擔。」胡偉武說。
這是龍芯放棄MIPS的內因,外因是MIPS的所有權一直在變化。
「那時候我想明白了一個道理,採用授權指令系統可以研製產品,但不可能形成自主產業生態,就像中國人可以用英文寫文章,但不可能基於英文形成民族文化。。於是在內因和外因的共同作用下,我們決定自主開發一套指令集架構。」胡偉武表示。
為了LoongArch能夠長遠發展,龍芯中科高度重視與龍芯架構相關的知識產權,委託了中國第三方知識產權機構對龍芯基礎架構進行了深入細緻的知識產權評估,將LoongArch與ALPHA、ARM、MIPS、POWER、RISC-V、X86等國際上主要指令系統有關資料和幾萬件專利進行深入對比分析。
今年1月第三方機構得到了三個評估結果:
LoongArch在指令系統設計、指令格式、指令編碼、定址模式等方面進行了自主設計。
LoongArch指令系統手冊在章節結構、指令說明結構和指令內容表達方面與上述國際上主要指令系統存在明顯區別。
LoongArch基礎架構未發現對上述國際上主要指令系統中國專利的侵權風險。
接下來,龍芯中科和第三方知識產權評估機構還會進行境外專利分析和進一步的知識產權評估,並根據評估情況逐步發布完整的LoongArch指令系統手冊。
龍芯能推出自主CPU指令集系統的9個能力
CPU指令系統是電腦的軟硬體介面,是CPU所執行的軟體指令的二進位編碼格式規範。
胡偉武說:「過去把指令系統和CPU晶片聯繫起來比較多,其實指令系統更多關係到的是軟體生態,比如X86支撐Windows生態、ARM支撐Android生態。只要把軟體想清楚了,CPU換指令系統並不難。」
推出一個指令系統不難,難的是生態的構建,這是晶片業界的共識。胡偉武說,「我們敢於構建新的指令系統的生態,是因為過去20年的積累讓我們掌握了9個能力。」
這9個能力每三個分為一類,第一類是3個基礎編譯器,包括GCC、LLVM、GOLANG;第二類是三個虛擬機,包含Java虛擬機、JavaScript虛擬機、.NET虛擬機;第三類是二進位翻譯系統,包括X86、ARM和MIPS指令系統的翻譯。
編譯器是將C語言這類高級語言編為機器標碼,因為有開源,許多經驗豐富的團隊都能開發編譯器。
「更上一層就是虛擬機,全球一大半的伺服器都跑在Java上,.NET與Java一樣,一個屬於微軟體系,一個屬於Linux體系。JavaScript是瀏覽器的核心引擎。因此虛擬機也很重要。」
胡偉武解釋,「目前很多應用軟體都構建在上述三個虛擬機上,龍芯自主指令系統只要支援上述三個虛擬機,那一半以上的已有應用軟體就可以不用遷移直接運行。要掌握生態的主導權,關鍵就在於虛擬機的能力。」
二進位翻譯的能力,是考慮到自主和兼容,為生態發展提供的基礎能力。「LoongArch的基礎指令有300多條,為了二進位翻譯,兼容x86、ARM以及MIPS,我們又增加了近200條指令。」
胡偉武進一步表示,「LoongArch通過軟硬結合,提升了兼容其他指令系統應用的二進位翻譯效率,這方面我們有十幾年的積累。我們希望,到2025年前後,在龍芯的LoongArch平台上可以不運行Windows但能運行Windows應用,不運行Android但能運行Android應用。」
不僅如此,LoongArch還拋棄了MIPS的很多歷史負擔,結合新的應用特點增加了一些新的功能,這樣僅指令系統就能帶來10%-20%的性能提升,硬體要實現這樣的提升需要大概兩代。
雷鋒網(公眾號:雷鋒網)了解到,屬於RISC(精簡指令集)的LoongArch總共有近2000條指令,包含基礎架構部分和向量指令、虛擬化、二進位翻譯等擴展部分,具有完全自主、技術先進、兼容生態的三個特點。
有組織的開放建設生態
「兼容其它指令系統只是建設生態的輔助性手段,我們的目標是打造全球第三套CPU生態體系,為人民做龍芯。」胡偉武說:「全球的IT產業被Wintel體系和AA體系制約,只要矽谷的企業產品升級,中國和其它國家的企業就得跟著升級,我們沒有產業發展的主導權。」
回看intel和ARM的成功,上世紀九十年代,小企業intel做晶片,把基礎軟體平台開放給生態合作夥伴來做,打敗了封閉的大企業IBM。進入新世紀以來,比intel更加開放的ARM只提供IP,也取得了巨大的成功。
胡偉武說LoongArch的生態是要有組織的開放,建立生態。「要建設好一個生態首先要開放,組建聯盟吸引生態合作夥伴。其次還要兼容,無組織的開放會造成嚴重碎片化,生態沒辦法發展起來,要找到開放和兼容的平衡點。最後還需要系統優化,可以實現數量級的體驗提升。」
那誰會加入龍芯的CPU生態?胡偉武認為非常明確的至少有兩類公司,一類是針對特定應用做SoC的公司,這些公司只要加入龍芯生態聯盟就可以使用LoongArch指令系統,並且能夠免費使用像ARM Cortex A53和A57性能級別的龍芯CPU IP核,用於各種SoC設計,這也是龍芯已有的客戶。
另一類是整機和解決方案公司,龍芯有信心LoongArch晶片性能不會比其它指令系統的CPU弱,隨著性能的提升,總體性價比也會更高。
「我們基於LoongArch除了發展面向桌面、伺服器應用的通用資訊系統平台,還可以做出新的平台,比如我們可以建設一個面向製造業的平台,在該平台上把各種裝備和設備APP化,如高鐵APP,飛機APP等。」胡偉武說。
也就是說,無論是收復失地還是開疆拓土,龍芯開放生態都能吸引參與者。
目前,首款支援LoongArch的龍芯CPU 3A5000處理器晶片已經流片成功,14nm的LoongArch CPU比ARM 7nm的CPU性能更強,已經接近市場主流產品水平。
「LoongArch的技術和工程的路已經走通,今年下半年我們工作的重點就會轉向生態建設,我預計2025年龍芯的CPU出貨量將達到千萬級,生態建設也將邁出一大步。」胡偉武表示,「在中國建設新的CPU生態,沒有人和我競爭,快慢由我。保守估計,到2030年我們應該可以初步建成基於Loongarch的生態體系。」
堅定自主路線,堅持30年建設自主生態
「發展核心技術不要幻想『彎道超車』,像晶片這樣的高複雜系統能力建設需要以30年為周期,不能經常『翻燒餅』,別人封鎖時我們自己研製,別人放開了我們又放棄自主。龍芯已經幹了20年了,相信再有10年,我們能初步建成第三套體系。」胡偉武強調。
五中全會首次明確科技自立自強作為國家發展的戰略支撐,這可以視作晶片行業發展的轉折點。在中美摩擦越來越多的背景下,支援晶片自主研發的人也越來越多。
但要實現完全自主可控,三個環節都要做好。第一個環節是IP核以及EDA工具的晶片研發,龍芯CPU晶片的IP核主要自主研發,過去二十年積累了自主研發的CPU、GPU、記憶體控制器、高速介面控制器、工業介面控制器等上百種IP核,但EDA工具的卡脖子問題想要解決依舊需要時間。
第二個環節就是基於自主指令系統的軟體生態,龍芯的LoongArch可以建設CPU的第三套生態。
第三個環節是基於自主材料設備的生產製程。「大趨勢是,7nm之後的製程是小眾製程,工控CPU 28nm足夠了,桌面CPU 14nm就足夠了,伺服器CPU 7nm足夠了。我們國家發展積體電路產業不應該總盯著7nm、5nm甚至3nm,先實現28nm和14nm的全自主,有了紮實的基礎迭代起來不會慢。」
胡偉武認為,「材料的自主可控會容易一些,設備稍微難一些。總體而言,十四五期間我們可以初步緩解積體電路材料和設備受制於人問題,要實現根本緩解則需要兩個五年時間。」
龍芯如今的成績已經證明了堅定自主研發不僅是可行的路線,而且是正確的路線。我們總在說要彎道超車,但目前看來我們沒有一次成功。IT產業核心技術就像蓋樓,每層樓兩大核心技術。第一層樓是CPU和作業系統,第二層樓是網路技術和圖形技術,第三層樓是虛擬化技術和智慧化技術。我們不可能不蓋前兩層直接蓋第三層。
因為後來者一旦有超越已有生態控制者的趨勢,就會受到各種阻礙。並且使用別人的授權,還可能受到非常嚴苛的審計,這是許多公司還未意識到的風險。
走自主研發的道路,在技術發展的初期一定會有巨大的技術和生態挑戰,但我們的優勢在於有廣闊的市場和優秀的制度,在市場帶技術的模式下,最終肯定能發展起來。
龍芯在工控和電子政務的成功就是最好的例子,這也是龍芯能在2015年實現盈虧平衡,並在「十三五」期間實現CPU單核通用處理性能提高十倍、銷售收入提高十倍的「雙十倍」跨越,在2021年推出自主指令系統架構底氣所在。
堅定目標,保持耐心,相信中國的CPU生態在所有參與者的共同努力下能夠實現安全的自主可控,與X86和ARM生態在全球三足鼎立,你中有我,我中有你共同向前發展。