龍芯CPU,15年研發(fā)歷程
發(fā)布時(shí)間:2018-06-25 來(lái)源: 散文精選 點(diǎn)擊:
龍芯2E為繼續(xù)支持自主CPU研發(fā)打下了基礎(chǔ)
2006年9月13日,以長(zhǎng)征勝利70周年命名為CZ70的龍芯2E通過科技部組織的驗(yàn)收,時(shí)任科技部部長(zhǎng)徐冠華親自參加了龍芯2E的驗(yàn)收會(huì)。龍芯2E的研制是“十五”末國(guó)家863計(jì)劃緊急安排的一個(gè)任務(wù)。當(dāng)時(shí)“漢芯”造假事件被曝光,加上“十五”863計(jì)劃早期支持的龍芯2C沒有達(dá)到合同要求的SPEC CPU2000分值300分的目標(biāo),自主處理器研發(fā)受到普遍質(zhì)疑。
2005年4月,科技部高新司領(lǐng)導(dǎo)把我叫到辦公室,問我到2005年年底前能不能完成863計(jì)劃“十五”初制定的主頻1GHz、SPEC CPU2000分值達(dá)到500分的目標(biāo)。我說(shuō)剩下不到一年時(shí)間,肯定來(lái)不及。他說(shuō)根據(jù)有關(guān)規(guī)定,項(xiàng)目時(shí)間到期后三個(gè)月內(nèi)(即2006年3月底前)提出驗(yàn)收申請(qǐng)就算按時(shí)完成。我硬著頭皮接了該任務(wù),因?yàn)槲抑廊绻笆濉钡娜蝿?wù)完不成,那“十一五”國(guó)家是不是還支持自主CPU研發(fā)就成問題。經(jīng)過艱苦的努力,龍芯2E在2005年11月底交付流片(把設(shè)計(jì)好的技術(shù)文件交給芯片生產(chǎn)廠家進(jìn)行生產(chǎn)),2006年3月18日流片成功,達(dá)到了技術(shù)指標(biāo)。雖然達(dá)到這些指標(biāo)有些勉強(qiáng)(SPEC CPU2000分值達(dá)到500分是計(jì)算所的編譯組做了很多編譯優(yōu)化實(shí)現(xiàn)的,但SPEC CPU的測(cè)試是允許進(jìn)行編譯優(yōu)化的),但畢竟完成了指標(biāo)。
龍芯2E的意義從徐冠華部長(zhǎng)參加完驗(yàn)收會(huì)后接受記者采訪時(shí)說(shuō)的一句話可以看出:龍芯2E的成功表明,我國(guó)在“十五”期間安排的自主CPU研發(fā)是成功的。這也為“十一五”期間國(guó)家繼續(xù)支持自主CPU研發(fā)打下了基礎(chǔ)。
“不能以任何經(jīng)費(fèi)的理由放緩龍芯3號(hào)的研制”
2005年深秋,利用龍芯2E流片后等待芯片回來(lái)的時(shí)間,我?guī)е糠铸埿菊n題組的骨干在香山別墅討論龍芯3號(hào)的結(jié)構(gòu)方案。
在龍芯3號(hào)結(jié)構(gòu)基本確定后就展開了龍芯3號(hào)CPU的研發(fā)。但當(dāng)時(shí)“十五”863課題結(jié)束了,“十一五”“核高基”(即“核心電子器件、高端通用芯片和基礎(chǔ)軟件產(chǎn)品”重大專項(xiàng))課題遲遲啟動(dòng)不了。為此,科學(xué)院對(duì)龍芯3號(hào)的研制給了500萬(wàn)元的前期經(jīng)費(fèi)支持(執(zhí)行期限2007年1月到2007年12月)?萍疾扛咝滤抉T記春司長(zhǎng)得知龍芯3號(hào)的第一款芯片龍芯3A1000已經(jīng)基本完成設(shè)計(jì),但缺少流片費(fèi)時(shí),在863計(jì)劃內(nèi)緊急安排了2000萬(wàn)的經(jīng)費(fèi)支持龍芯3號(hào)的研制(執(zhí)行期限2008年1月到2010年12月)。原計(jì)算所所長(zhǎng)李國(guó)杰院士曾經(jīng)在計(jì)算所中層干部會(huì)上當(dāng)眾點(diǎn)我的名說(shuō),“胡偉武,你不能以任何經(jīng)費(fèi)的理由放緩龍芯3號(hào)的研制,計(jì)算所就是砸鍋賣鐵也要支持龍芯的研發(fā)”,并在所內(nèi)設(shè)立了一個(gè)經(jīng)費(fèi)沒有封頂?shù)恼n題,到2010年龍芯第一筆“核高基”課題經(jīng)費(fèi)到賬時(shí),龍芯課題組已經(jīng)預(yù)支了計(jì)算所七八千萬(wàn)元經(jīng)費(fèi)。
不記得經(jīng)歷了多少加班加點(diǎn),龍芯3A1000于2008年底交付流片。只記得流片前的幾個(gè)月每天晚上10點(diǎn)開例會(huì)安排工作。晚上10點(diǎn)例會(huì)是非常高效的一種工作方法,會(huì)后大家把有關(guān)設(shè)計(jì)在EDA服務(wù)器上跑起來(lái)再回家,第二天早上上班時(shí)剛好跑出結(jié)果來(lái);如果是早上上班后開始在EDA服務(wù)器上跑,基本上大半天就在等待服務(wù)器運(yùn)行出結(jié)果中度過。在此后龍芯CPU問題的攻關(guān)中,一直沿襲了晚上例會(huì)安排工作的方法。
2009年5月20日龍芯3A1000晶圓生產(chǎn)下線,9月28日樣片回來(lái),成功啟動(dòng)操作系統(tǒng),主頻800MHz~1GHz。龍芯3A1000在2012年又進(jìn)行了第二次改版。3A1000的第二次改版于2012年2月下旬流片,2012年8月中旬流片成功。至此龍芯3A1000就很穩(wěn)定了,至今還是龍芯銷售的一款重要芯片,尤其是在工控領(lǐng)域。
現(xiàn)在回頭看,龍芯3A1000的研制是成功的。3A1000是我國(guó)第一個(gè)四核CPU芯片。在3A1000的研制過程中,我們掌握了多核CPU的片內(nèi)互連及Cache一致性技術(shù),以及片間多路互連技術(shù)。直到今日,龍芯仍然是唯一能支持多路服務(wù)器的自主CPU。在最近國(guó)外CPU企業(yè)對(duì)中國(guó)企業(yè)的CPU技術(shù)授權(quán)中,支持多路服務(wù)器的技術(shù)受美國(guó)政府限制還是不能給中國(guó)的。龍芯3A1000處理器核的性能略高于Pentium III的水平,在2006年龍芯2E剛出來(lái)時(shí)這個(gè)性能還說(shuō)得過去。龍芯3A1000仍沿用該處理器核有點(diǎn)慢了,但在應(yīng)用比較固定的很多領(lǐng)域還能用,按理說(shuō)龍芯的下一款CPU應(yīng)該致力于處理器核的性能優(yōu)化,大幅度提高通用處理性能,但在學(xué)院派的思想主導(dǎo)下,隨后的龍芯3B走了彎路,使龍芯遭受了挫折。
龍芯3B為何遭遇挫折?
龍芯3B的研發(fā)得到“核高基”重大專項(xiàng)的支持,是在龍芯團(tuán)隊(duì)轉(zhuǎn)型成立公司(龍芯中科技術(shù)有限公司)以及有關(guān)部門大力展開自主基礎(chǔ)軟硬件應(yīng)用試點(diǎn)的背景下展開研制的。2010年把龍芯課題組轉(zhuǎn)型成立公司是下了很大決心的,當(dāng)時(shí)已認(rèn)識(shí)到不能腳踩兩只船,辦企業(yè)和做研究不一樣,即使嘔心瀝血,也是九死一生,因此一定要專心,要求絕大多數(shù)技術(shù)骨干都從計(jì)算所辭職。
龍芯公司的成立得到很多領(lǐng)導(dǎo)專家的支持。龍芯3B的研發(fā)工作在2008年底龍芯3A交付流片后開始全面展開。首款龍芯3B1000繼續(xù)基于65nm工藝,目標(biāo)主頻800MHz~1GHz,八核結(jié)構(gòu),每個(gè)核包含兩個(gè)256位向量部件,峰值浮點(diǎn)性能達(dá)到128GFLOPS,這在當(dāng)時(shí)處于世界領(lǐng)先行列。龍芯3B1000于2010年6月20日左右流片,2010年11月底回來(lái)第一批芯片。但第一批芯片回來(lái)測(cè)試并不順利,連操作系統(tǒng)都啟動(dòng)不了。很快就找到了原因:由于芯片可測(cè)性設(shè)計(jì)部分的邏輯設(shè)計(jì)錯(cuò)誤,在功能模式下誤把內(nèi)存引腳置為測(cè)試狀態(tài),導(dǎo)致芯片訪問不了內(nèi)存,通過FIB(用離子束改變硅片上的連線)修復(fù)后功能正常。
熱點(diǎn)文章閱讀