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