6月26日,龍芯中科發(fā)布了基于國產(chǎn)自主指令集“龍架構(gòu)”研發(fā)的服務(wù)器處理器龍芯3C6000系列芯片。
3C6000芯片有三個重要特征,一是ToB,整體性能對標(biāo)英特爾上一代至強(qiáng)系列;二是百分之百全供應(yīng)鏈自主研發(fā),確保關(guān)鍵領(lǐng)域應(yīng)用安全;三是生產(chǎn)線良率超70%—按照龍芯中科董事長胡偉武的話,“本次大會發(fā)布的龍芯芯片不依賴任何國外技術(shù)授權(quán)和境外供應(yīng)鏈”。
龍芯中科是“國家隊(duì)”,區(qū)別于華為等“企業(yè)隊(duì)”,其誕生與進(jìn)步是國家科技戰(zhàn)略的一部分,計劃也曾因種種波折差點(diǎn)“流產(chǎn)”。
20多年,來路荊棘。從硬杠國外主流產(chǎn)品,直到“純血”龍芯完全自研。中美科技競爭,中國拿到的開局不利,但用空間換時間、用算法換制程、用多核堆疊換先進(jìn)架構(gòu)……在差距中追趕,終有達(dá)到世界領(lǐng)先的一天。
龍芯的創(chuàng)業(yè)史絕不是一帆風(fēng)順。
2001年,龍芯中科還沒有“中科”,龍芯只是中國科學(xué)院計算技術(shù)研究所的一個課題組,承擔(dān)的任務(wù)是研發(fā)自主CPU。一年多的時間,龍芯1號流片成功,開創(chuàng)中國自主CPU的先河。又隔一年多,2003年,龍芯2號發(fā)布。
2009年,龍芯3號誕生。今年6月26日發(fā)布的3C6000,就是龍芯3號中3C線上的最新產(chǎn)品。
問題來了。從龍芯1號到龍芯2號,僅用了一年多;為什么從龍芯2號到龍芯3號,隔了六年多?
幕后歷程飽含艱辛。龍芯課題組研發(fā)的CPU,必須要通過科技部驗(yàn)收。驗(yàn)收無誤,才能拿到下一步的經(jīng)費(fèi)。在龍芯2號研發(fā)過程中,“十五計劃”中863計劃資助的2C型號,沒有達(dá)到SPECCPU2000(下一代行業(yè)標(biāo)準(zhǔn)CPU密集型基準(zhǔn)測試套件)的分值目標(biāo)。
先是龍芯2號的2C型號性能不佳,加上輿論懷疑倍起,龍芯課題組負(fù)責(zé)人胡偉武硬著頭皮接下了龍芯2號的2E計劃,在“比較勉強(qiáng)”的情況下通過驗(yàn)收。
“比較勉強(qiáng)”的意思是,由于硬件性能有限,還是靠后期大量的程序編譯、優(yōu)化,一定程度上彌補(bǔ)了硬件設(shè)計的不足,完成了國家制定的指標(biāo)。
對于自主研發(fā)CPU,科技部給了一顆“定心丸”。時任科技部部長徐冠華公開表示,龍芯2E的成功表明,中國“十五”期間安排的自主CPU計劃是成功的。這為“十一五”繼續(xù)支持自主CPU項(xiàng)目奠定了基礎(chǔ)。
當(dāng)時的國際形勢和今日不同,中國自主研發(fā)CPU并不存在“志在必得”的緊迫性,因此也非常看重對成果和指標(biāo)的考量—如果花了太多錢,又做不出什么東西,多半還是要放棄的。
好在龍芯沒有被放棄。
據(jù)胡偉武2016年的公開自述文章披露,龍芯2E流片的同時,胡偉武帶領(lǐng)團(tuán)隊(duì)開啟了龍芯3號的規(guī)劃。但是,“十一五”中支持自主CPU的“核高基”計劃遲遲沒啟動?!昂烁呋奔础昂诵碾娮悠骷?、高端通用芯片及基礎(chǔ)軟件產(chǎn)品”,是2006年1月國務(wù)院發(fā)布的《國家中長期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要(2006—2020年)》確定的16個科技重大專項(xiàng)之一。
計劃沒啟動,龍芯3號就沒有錢。中國科學(xué)院預(yù)支了500萬元,讓龍芯3號先拿去花。后來,科技部得知龍芯3號的第一個型號3A1000基本完成設(shè)計后,又從“十五”的863計劃內(nèi)緊急劃撥了2000萬元。
2500萬元,對于研發(fā)CPU來說,遠(yuǎn)遠(yuǎn)不夠。“核高基”沒啟動,中國科學(xué)院計算所就自己掏錢支持龍芯項(xiàng)目。時任中國科學(xué)院計算所長李國杰院士,在一次會議上公開點(diǎn)名胡偉武:“你不能以任何經(jīng)費(fèi)理由放緩龍芯3號的研發(fā)?!庇嬎闼褪窃义佡u鐵,也要支持龍芯。
隨后,計算所設(shè)立了一個經(jīng)費(fèi)沒有封頂?shù)恼n題支援龍芯。2009年,龍芯3A1000流片。2010年,“核高基”的經(jīng)費(fèi)才到賬,此時,計算所已經(jīng)預(yù)支給龍芯七八千萬元了。
沒有中國科學(xué)院計算所的大力支持,龍芯項(xiàng)目不可能走到今天,那么也就沒有“自主可控”CPU這一說了。
龍芯3A1000作為中國第一個4核CPU芯片,為后續(xù)的技術(shù)發(fā)展提供了大量的原始積淀。今天3C6000上的片內(nèi)互聯(lián)、緩存一致性等技術(shù),都是在3A1000上摸索出來的經(jīng)驗(yàn)。
3B立項(xiàng),立刻得到“核高基”專項(xiàng)支持。龍芯課題組轉(zhuǎn)型為“龍芯中科”,開始企業(yè)化運(yùn)營。然而,企業(yè)化運(yùn)營又是一波三折。
龍芯本來是承擔(dān)國家任務(wù)的課題研究小組,屬于學(xué)院派,沒有企業(yè)經(jīng)營的經(jīng)驗(yàn),在管理過程中,出現(xiàn)了一些失誤。其中一個戰(zhàn)略失誤,是研發(fā)3B時過于重視多核CPU架構(gòu),忽視了單核性能提升。
當(dāng)時國際上CPU的發(fā)展趨勢以多核為主,龍芯中科決定跟國際企業(yè)比拼多核設(shè)計。2006年發(fā)布的2E,性能跟主流的X86處理器只差一到兩倍,然而,到了2013年的3B,性能比2E只提高了50%,而主流的X86處理器性能已經(jīng)翻了五倍。
龍芯的核數(shù)一度比國外企業(yè)的還多,因?yàn)閱魏诵阅軐?shí)在拖后腿,只好拼數(shù)量。單核性能是CPU通用處理性能的基礎(chǔ),單核做不好,直接后果就是產(chǎn)品在基礎(chǔ)場景下不占優(yōu)勢—芯片沒人要。
3B失利,“核高基”轉(zhuǎn)而引進(jìn)國外CPU技術(shù),通過企業(yè)合資、技術(shù)授權(quán)來帶動國產(chǎn)CPU發(fā)展。如今市面上不少國產(chǎn)CPU產(chǎn)品,都是從2013年“核高基”的支持下走出來的,大多基于國外技術(shù)架構(gòu)。
龍芯受到極大打擊,這樣一來,自主CPU走不下去了。同樣,在計算機(jī)操作系統(tǒng)、數(shù)據(jù)庫等領(lǐng)域,合作而不是自主研發(fā)占上風(fēng)的情況都有發(fā)生—那時畢竟沒有什么科技戰(zhàn)、貿(mào)易戰(zhàn),沒有哪家企業(yè)進(jìn)“白宮嚴(yán)選”,“純血”國產(chǎn)的壓力不大。
負(fù)責(zé)人胡偉武痛定思痛,2013年暫停3C系列的16核CPU討論,掉頭“往回走”,專注提升4核設(shè)計的3A和3B的單核性能,經(jīng)過三年攻關(guān),3A3000流片成功,這款芯片的性能追平了當(dāng)時X86和ARM的低端服務(wù)器CPU。
最關(guān)鍵的是,3A3000超過了靠技術(shù)引進(jìn)打造出來的國內(nèi)同類產(chǎn)品,成功為自主CPU挽回了生存機(jī)遇。正是龍芯團(tuán)隊(duì)的不懈努力,才能換來今天真正自主可控的CPU,成為科技戰(zhàn)的“保底”項(xiàng)目之一。
龍芯3號系列,3A是4核,3B有4核和8核,3C是16核。3C早期型號是3C5000,3C6000在單核性能上又有了大幅提升。
可以說,3C6000在多核設(shè)計的基礎(chǔ)上,補(bǔ)足了此前單核性能較弱的短板,是龍芯系列的里程碑產(chǎn)品。
3C6000的“里程碑”與“自主可控”,到底體現(xiàn)在什么地方?
CPU的核心在于指令集架構(gòu),獨(dú)立的指令集架構(gòu)定義獨(dú)立的軟硬件生態(tài)。CPU硬件架構(gòu)以指令集為標(biāo)尺,一個CPU性能上限也是由指令集架構(gòu)決定的。因此,只有指令集是自己的,CPU才真正是“自己的”。
龍芯在近20年的時間里,用的都是第三方架構(gòu)—MIPS。MIPS和ARM一樣,也是RISC指令集(精簡指令集),但是,隨著ARM在移動端廣泛應(yīng)用,RISC-V開源指令集火爆,MIPS的影響力江河日下。
不少游戲掌機(jī)玩家還記得MIPS架構(gòu)的PSP模擬器,流暢度遠(yuǎn)超當(dāng)年的高主頻手機(jī)。然而,輝煌過后,MIPS已經(jīng)成了“時代的眼淚”。
2020年,龍芯不再使用MIPS,首次推出自主設(shè)計的龍架構(gòu),3A5000是第一款支持龍架構(gòu)的龍芯CPU。從這個節(jié)點(diǎn)開始,龍芯已經(jīng)實(shí)現(xiàn)指令集、微架構(gòu)、芯片設(shè)計的全面自研。
龍架構(gòu)也是一個RISC指令集,包括大約2000條指令,其中除了基礎(chǔ)指令,還有向量指令,虛擬化和二進(jìn)制翻譯等拓展指令。向量指令主要支持矩陣運(yùn)算、卷積運(yùn)算等等,可以用來進(jìn)行高性能運(yùn)算、AI計算。虛擬化是從指令集層面支持虛擬機(jī)。二進(jìn)制翻譯可以將X86和ARM指令集在硬件層面“翻譯”為龍架構(gòu)的指令集,部分解決軟件的兼容問題。
不過,雖然硬件自研達(dá)成,但短期內(nèi)生態(tài)很難提升。龍芯一直在構(gòu)建社區(qū),拉著國際、國內(nèi)企業(yè)做聯(lián)合開發(fā)。龍架構(gòu)也支持Linux內(nèi)核和一些編譯器軟件,以及統(tǒng)信、麒麟、龍蜥、開源鴻蒙等系統(tǒng)。
目前來看,龍芯在消費(fèi)級市場還不具備什么競爭力,由于其自主性和安全性的特征,在政務(wù)、電信、能源板塊占據(jù)主導(dǎo)地位。工控、存儲、智算等領(lǐng)域,龍芯都有自己的產(chǎn)品線。
龍芯指令集自研的情況下,其他IP也都是自研的。包括CPU核LA664、GPU核LG200、高速接口IP、存儲接口IP等。
這也是龍芯和華為鯤鵬的一個重要區(qū)別。華為鯤鵬基于ARM架構(gòu),有些IP可以用第三方;龍芯用自己的指令集,所有的東西都要自己做—總之在“自主可控”上,絕對是沒得挑的。
而最新產(chǎn)品3C6000的水平,根據(jù)官方援引的第三方測試結(jié)果,單硅片16核3C6000/S相當(dāng)于英特爾16核至強(qiáng)Silver4314;雙硅片32核3C6000/D相當(dāng)于英特爾32核至強(qiáng)Gold6338;四硅片64核3C6000/Q超越了英特爾40核至強(qiáng)Platinum8380。
以上三款英特爾產(chǎn)品,都是2021年發(fā)布的服務(wù)器芯片,按出貨量算,它們是2023、2024年的主流產(chǎn)品??梢哉f,龍芯3C6000對標(biāo)的是上一代英特爾主流產(chǎn)品,和英特爾只差了一代,大概有4年左右的差距。
另外,3C6000與英特爾還有一個顯著差別。
3C6000主打16核,核數(shù)再往上走,就得靠拼接—龍鏈,類似于英偉達(dá)的Nvlink,是一種高速片間互聯(lián)技術(shù)。而英特爾都是單硅片設(shè)計。
這個差異取決于兩方面,一是龍芯為保證良率,考慮到成本和風(fēng)險,靠拼接更穩(wěn)妥;二是英特爾作為國際巨頭,高密度互聯(lián)、緩存一致性等方面都有較大優(yōu)勢,龍芯還有追趕的空間。
總而言之,龍芯3C6000作為100%“純血”國產(chǎn)芯片,為中國自主CPU爭取了寶貴的市場地位,也帶來了寶貴的信念信心。
6月26日,龍芯中科產(chǎn)品發(fā)布會起了這樣的名字,“今日長纓在手”。這句詩引自毛澤東的《清平樂·六盤山》,下一句豪情萬丈,“何時縛住蒼龍?”