4月16日,美國商務(wù)部網(wǎng)站發(fā)布公告,7年內(nèi)禁止美國企業(yè)向中興通訊出口任何技術(shù)、產(chǎn)品。此公告發(fā)布之后,引發(fā)了全球業(yè)界和公眾的廣泛關(guān)注,特別是事件背后折射出的中國在芯片領(lǐng)域的缺憾更是引發(fā)了國內(nèi)各界的反思、討論。
其實,如今國內(nèi)冰箱、洗衣機(jī)、空調(diào)等產(chǎn)品所使用的芯片大部分是國產(chǎn)品牌,但在通信、工業(yè)等領(lǐng)域,國產(chǎn)芯片仍與國際先進(jìn)水平有較大的差距。
比如人們幾乎每天都會用到的電腦內(nèi)的CPU(中央處理器)就是芯片中的一種,是芯片研發(fā)領(lǐng)域中難度最大的一類芯片,目前CPU市場也幾乎被英特爾與AMD兩家公司壟斷。
中國從未放棄自主CPU的研制。其中有代表性的研發(fā)產(chǎn)品之一便是2001年開始研制的龍芯處理器。到2016年10月,龍芯3A000處理器已研制成功。
龍芯總設(shè)計師胡偉武曾在2016年底撰寫過一篇長達(dá)2萬字的長文,詳述龍芯15年的研發(fā)過程。現(xiàn)摘要刊發(fā)此文,希望通過回溯龍芯CPU的發(fā)展之路,更好地幫助我們理解中國芯片發(fā)展的過去、現(xiàn)在與未來。
龍芯CPU 15年研發(fā)歷程
中國科學(xué)院龍芯CPU首席科學(xué)家、龍芯中科總裁 胡偉武
龍芯2E為繼續(xù)支持自主CPU研發(fā)打下了基礎(chǔ)
2006年9月13日,以長征勝利70周年命名為CZ70的龍芯2E通過科技部組織的驗收,時任科技部部長徐冠華親自參加了龍芯2E的驗收會。龍芯2E的研制是“十五”末國家863計劃緊急安排的一個任務(wù)。當(dāng)時“漢芯”造假事件被曝光,加上“十五”863計劃早期支持的龍芯2C沒有達(dá)到合同要求的SPEC CPU2000分值300分的目標(biāo),自主處理器研發(fā)受到普遍質(zhì)疑。
2005年4月,科技部高新司領(lǐng)導(dǎo)把我叫到辦公室,問我到2005年年底前能不能完成863計劃“十五”初制定的主頻1GHz、SPEC CPU2000分值達(dá)到500分的目標(biāo)。我說剩下不到一年時間,肯定來不及。他說根據(jù)有關(guān)規(guī)定,項目時間到期后三個月內(nèi)(即2006年3月底前)提出驗收申請就算按時完成。我硬著頭皮接了該任務(wù),因為我知道如果“十五”的任務(wù)完不成,那“十一五”國家是不是還支持自主CPU研發(fā)就成問題。經(jīng)過艱苦的努力,龍芯2E在2005年11月底交付流片(把設(shè)計好的技術(shù)文件交給芯片生產(chǎn)廠家進(jìn)行生產(chǎn)),2006年3月18日流片成功,達(dá)到了技術(shù)指標(biāo)。雖然達(dá)到這些指標(biāo)有些勉強(qiáng)(SPEC CPU2000分值達(dá)到500分是計算所的編譯組做了很多編譯優(yōu)化實現(xiàn)的,但SPEC CPU的測試是允許進(jìn)行編譯優(yōu)化的),但畢竟完成了指標(biāo)。
龍芯2E的意義從徐冠華部長參加完驗收會后接受記者采訪時說的一句話可以看出:龍芯2E的成功表明,我國在“十五”期間安排的自主CPU研發(fā)是成功的。這也為“十一五”期間國家繼續(xù)支持自主CPU研發(fā)打下了基礎(chǔ)。
“不能以任何經(jīng)費的理由放緩龍芯3號的研制”
2005年深秋,利用龍芯2E流片后等待芯片回來的時間,我?guī)е糠铸埿菊n題組的骨干在香山別墅討論龍芯3號的結(jié)構(gòu)方案。
在龍芯3號結(jié)構(gòu)基本確定后就展開了龍芯3號CPU的研發(fā)。但當(dāng)時“十五”863課題結(jié)束了,“十一五”“核高基”(即“核心電子器件、高端通用芯片和基礎(chǔ)軟件產(chǎn)品”重大專項)課題遲遲啟動不了。為此,科學(xué)院對龍芯3號的研制給了500萬元的前期經(jīng)費支持(執(zhí)行期限2007年1月到2007年12月)?萍疾扛咝滤抉T記春司長得知龍芯3號的第一款芯片龍芯3A1000已經(jīng)基本完成設(shè)計,但缺少流片費時,在863計劃內(nèi)緊急安排了2000萬的經(jīng)費支持龍芯3號的研制(執(zhí)行期限2008年1月到2010年12月)。原計算所所長李國杰院士曾經(jīng)在計算所中層干部會上當(dāng)眾點我的名說,“胡偉武,你不能以任何經(jīng)費的理由放緩龍芯3號的研制,計算所就是砸鍋賣鐵也要支持龍芯的研發(fā)”,并在所內(nèi)設(shè)立了一個經(jīng)費沒有封頂?shù)恼n題,到2010年龍芯第一筆“核高基”課題經(jīng)費到賬時,龍芯課題組已經(jīng)預(yù)支了計算所七八千萬元經(jīng)費。
不記得經(jīng)歷了多少加班加點,龍芯3A1000于2008年底交付流片。只記得流片前的幾個月每天晚上10點開例會安排工作。晚上10點例會是非常高效的一種工作方法,會后大家把有關(guān)設(shè)計在EDA服務(wù)器上跑起來再回家,第二天早上上班時剛好跑出結(jié)果來;如果是早上上班后開始在EDA服務(wù)器上跑,基本上大半天就在等待服務(wù)器運行出結(jié)果中度過。在此后龍芯CPU問題的攻關(guān)中,一直沿襲了晚上例會安排工作的方法。
2009年5月20日龍芯3A1000晶圓生產(chǎn)下線,9月28日樣片回來,成功啟動操作系統(tǒng),主頻800MHz~1GHz。龍芯3A1000在2012年又進(jìn)行了第二次改版。3A1000的第二次改版于2012年2月下旬流片,2012年8月中旬流片成功。至此龍芯3A1000就很穩(wěn)定了,至今還是龍芯銷售的一款重要芯片,尤其是在工控領(lǐng)域。
現(xiàn)在回頭看,龍芯3A1000的研制是成功的。3A1000是我國第一個四核CPU芯片。在3A1000的研制過程中,我們掌握了多核CPU的片內(nèi)互連及Cache一致性技術(shù),以及片間多路互連技術(shù)。直到今日,龍芯仍然是唯一能支持多路服務(wù)器的自主CPU。在最近國外CPU企業(yè)對中國企業(yè)的CPU技術(shù)授權(quán)中,支持多路服務(wù)器的技術(shù)受美國政府限制還是不能給中國的。龍芯3A1000處理器核的性能略高于Pentium III的水平,在2006年龍芯2E剛出來時這個性能還說得過去。龍芯3A1000仍沿用該處理器核有點慢了,但在應(yīng)用比較固定的很多領(lǐng)域還能用,按理說龍芯的下一款CPU應(yīng)該致力于處理器核的性能優(yōu)化,大幅度提高通用處理性能,但在學(xué)院派的思想主導(dǎo)下,隨后的龍芯3B走了彎路,使龍芯遭受了挫折。