龍芯3B為何遭遇挫折?
龍芯3B的研發(fā)得到“核高基”重大專項的支持,是在龍芯團隊轉(zhuǎn)型成立公司(龍芯中科技術(shù)有限公司)以及有關(guān)部門大力展開自主基礎(chǔ)軟硬件應(yīng)用試點的背景下展開研制的。2010年把龍芯課題組轉(zhuǎn)型成立公司是下了很大決心的,當時已認識到不能腳踩兩只船,辦企業(yè)和做研究不一樣,即使嘔心瀝血,也是九死一生,因此一定要專心,要求絕大多數(shù)技術(shù)骨干都從計算所辭職。
龍芯公司的成立得到很多領(lǐng)導(dǎo)專家的支持。龍芯3B的研發(fā)工作在2008年底龍芯3A交付流片后開始全面展開。首款龍芯3B1000繼續(xù)基于65nm工藝,目標主頻800MHz~1GHz,八核結(jié)構(gòu),每個核包含兩個256位向量部件,峰值浮點性能達到128GFLOPS,這在當時處于世界領(lǐng)先行列。龍芯3B1000于2010年6月20日左右流片,2010年11月底回來第一批芯片。但第一批芯片回來測試并不順利,連操作系統(tǒng)都啟動不了。很快就找到了原因:由于芯片可測性設(shè)計部分的邏輯設(shè)計錯誤,在功能模式下誤把內(nèi)存引腳置為測試狀態(tài),導(dǎo)致芯片訪問不了內(nèi)存,通過FIB(用離子束改變硅片上的連線)修復(fù)后功能正常。
這是一個重大的打擊,龍芯歷史上從來沒有犯過這樣簡單的錯誤,而且在同一時期流片的龍芯1A、龍芯2I等芯片也出現(xiàn)了由于簡單工作失誤引起的錯誤。究其原因,是龍芯團隊在2010年初從課題組管理機制轉(zhuǎn)向公司管理機制的過程中,原來“作坊式”的設(shè)計流程被打破了,“工業(yè)化”的設(shè)計流程沒有建立起來。在課題組階段,我作為課題組長,每顆芯片從結(jié)構(gòu)設(shè)計、邏輯設(shè)計、功能驗證、可測性設(shè)計、定制設(shè)計、物理設(shè)計各個環(huán)節(jié)從頭盯到尾,及時協(xié)調(diào)各組的配合,關(guān)注每一個細節(jié),因此沒有出現(xiàn)管理上的錯誤。而在3B1000的研制過程中,龍芯課題組轉(zhuǎn)型成立了龍芯公司,我的主要精力轉(zhuǎn)向公司,芯片研發(fā)的總協(xié)調(diào)人缺位,導(dǎo)致頻頻失誤。痛定思痛,從此我著手芯片研制的質(zhì)量體系建設(shè),建立了“五步法”(立項、方案、簽核、測試、結(jié)項)研制過程,并詳細規(guī)定了每個階段的研發(fā)和審核內(nèi)容。在此后龍芯公司進行的幾十次流片中,沒有出現(xiàn)過嚴重的質(zhì)量問題,而且比我作為課題組長天天盯著效率高很多。
龍芯3B的研制過程真是一波三折。出現(xiàn)過龍芯從課題組向公司轉(zhuǎn)型過程中的管理問題,生產(chǎn)廠家引起的問題,多核互相訪問引起的死鎖問題,處理器核Cache一致性引起的問題。在解決了一個個問題后總算取得了成功。
但龍芯3B的主要問題不在研制過程中,而是剛開始定方向就出了很大偏差。主要問題在于雖然龍芯團隊從課題組轉(zhuǎn)型成為了公司,但龍芯3B的研發(fā)還保持著學(xué)院派導(dǎo)向,過度追求多核以及浮點峰值性能的單一指標,通用處理性能不足,滿足不了在“十一五”期間展開的自主CPU應(yīng)用和試點對性能的要求。
龍芯3B在學(xué)術(shù)上是成功的,3B1500峰值浮點運算速度達到160GFLOPS,現(xiàn)在拿出來也不丟人,當時在國際上算高的。但3B1500的通用處理能力比3A1000提高得不多,通過每個處理器核增加128KB的私有二級Cache以及主頻及內(nèi)存頻率的提高,3B1500的單核通用處理性能比3A1000提高了30%~50%,但與國外主流產(chǎn)品的性能差距還很大。
“十一五”期間,多核CPU成為國際學(xué)術(shù)界的熱點研究方向。因此,學(xué)院派思想主導(dǎo)的國內(nèi)CPU在“十一五”期間都放松了單核性能的提高,而是轉(zhuǎn)做多核,而且核數(shù)做得比國外還多。2006年研制成功的龍芯2E的通用處理性能與市場上主流X86處理器差一到兩倍,但龍芯CPU的單核性能從2006年的龍芯2E到2013年的龍芯3B1500只提高了50%左右;而在此期間市場主流X86處理器的單核通用處理性能提高了5倍以上。也就是說,“十一五”期間我國CPU通用處理性能被國外大幅度拉開了距離,從相差一到兩倍到相差一個數(shù)量級。
技術(shù)上的差距體現(xiàn)在市場上就是不好用!笆晃濉逼陂g,國家有關(guān)部門在涉及國家安全的領(lǐng)域開始了自主CPU應(yīng)用試點,大量的應(yīng)用往基于自主CPU和操作系統(tǒng)的計算機上移植。在2011—2013年的3年中,以嵌入式計算機為代表的裝備類應(yīng)用取得了不少成功;而以通用PC和服務(wù)器為代表的信息化類應(yīng)用雖然通過基礎(chǔ)軟硬件的磨合優(yōu)化取得了較大進展,但由于自主CPU的性能基礎(chǔ)與國外產(chǎn)品有數(shù)量級差距,在很多應(yīng)用中遭遇性能瓶頸。
由于自主CPU的通用處理性能不夠,2013年起,“核高基”基本上放棄了CPU自主研發(fā)路線,轉(zhuǎn)而支持引進國外CPU技術(shù)的路線。以IBM、AMD、威盛、ARM為代表的國外/境外CPU乘虛而入,紛紛尋求與國內(nèi)企業(yè)合資或開放技術(shù)授權(quán)的方式,把原來的產(chǎn)品搖身一變成為自主CPU(操作系統(tǒng)和數(shù)據(jù)庫也有類似情況)。這使得主要靠國家支持進行研發(fā)的龍芯CPU陷入了巨大困境。
雖然當時對“核高基”支持引進CPU不滿,但究其原因,還是我們自己在“十一五”“核高基”支持的龍芯3B上沒有擺脫學(xué)院派的慣性,走了彎路,滿足不了當時迫切的自主信息化市場需求。