sunyuan轉(zhuǎn)載
CPU是計算機(jī)系統(tǒng)及各類電子設(shè)備的核心,其設(shè)計和制造是技術(shù)實(shí)力的象征.因?yàn)槿狈ψ灾鞯腃PU設(shè)計和實(shí)現(xiàn)技術(shù),我國信息產(chǎn)業(yè)中與CPU相關(guān)的許多核心技術(shù)及產(chǎn)品仍然主要依賴進(jìn)口,不僅經(jīng)濟(jì)上受制于人,產(chǎn)品的增值空間小、盈利能力弱,而且信息系統(tǒng)的安全乃至國家安全也面臨威脅.因此,研制自主知識產(chǎn)權(quán)的CPU芯片甚為必要.
在知識創(chuàng)新工程試點(diǎn)工作中,中科院把掌握信息產(chǎn)業(yè)核心技術(shù)、解決我國信息產(chǎn)業(yè)“空心”的問題作為重要任務(wù),并以高性能通用CPU的研制為突破口,于2002年啟動實(shí)施知識創(chuàng)新工程重大項(xiàng)目“高性能通用CPU芯片研制”,進(jìn)行龍芯2號高性能通用CPU的研制.這項(xiàng)工作同時得到了國家863計劃計算機(jī)軟硬件技術(shù)主題的支持,成為該主題的重點(diǎn)課題.項(xiàng)目以中科院計算所為依托單位,并聯(lián)合微電子所、自動化所和北京微電子所等單位進(jìn)行集中攻關(guān),在通用CPU的芯片設(shè)計及人才培養(yǎng)等方面取得了一系列成果.龍芯2號緊緊圍繞市場需求進(jìn)行系統(tǒng)設(shè)計,在研制過程中就有了很好的市場前景,出現(xiàn)了“市場等芯片”的局面.
一、瞄準(zhǔn)國家戰(zhàn)略需求,實(shí)現(xiàn)跨越發(fā)展
根據(jù)中科院基礎(chǔ)性、戰(zhàn)略性、前瞻性的要求以及計算所作為國立研究所的定位,所領(lǐng)導(dǎo)和課題組在立項(xiàng)之初就制定了“瞄準(zhǔn)國家戰(zhàn)略需求,堅持高起點(diǎn),實(shí)現(xiàn)跨越發(fā)展”的目標(biāo).即從通用CPU入手,先發(fā)展高性能通用CPU芯片,突破其中的關(guān)鍵技術(shù),再在此基礎(chǔ)上帶動嵌入式的應(yīng)用.上述目標(biāo)對龍芯2號提出了兩方面的要求.一是通用,即龍芯2號不僅可以作為PC機(jī)和服務(wù)器芯片使用,而且可以在大量的嵌入式場合使用.二是高性能,作為通用CPU芯片,龍芯2號必須達(dá)到一定的性能,在性能上與Intel、IBM、SUN等公司生產(chǎn)的通用CPU芯片差距不能太大.
龍芯2號的研制目標(biāo)為:通過研制與主流兼容的64位、四發(fā)射高性能通用CPU芯片,掌握現(xiàn)代CPU的核心設(shè)計和實(shí)現(xiàn)技術(shù).在性能方面的目標(biāo)為:在0.18微米工藝條件下達(dá)到500MHz主頻,使用國際通用的SPEC CPU2000測試程序測試的分值為300分.其中SPEC CPU2000的分值達(dá)到300分,意味著500MHz的龍芯2號實(shí)際性能將與1.3GHz左右的PIV性能相當(dāng),超過威盛CPU的實(shí)際性能.
為了實(shí)現(xiàn)上述目標(biāo),課題組制定了如下技術(shù)路線.
一是做到戰(zhàn)略上的高起點(diǎn)和戰(zhàn)術(shù)上的穩(wěn)扎穩(wěn)打相結(jié)合.在任務(wù)緊難度大的情況下,課題組人員根據(jù)實(shí)際情況,在項(xiàng)目的具體實(shí)施中做到穩(wěn)扎穩(wěn)打、步步推進(jìn).在實(shí)現(xiàn)方法方面,在結(jié)構(gòu)設(shè)計、邏輯設(shè)計、物理設(shè)計等階段都進(jìn)行步步為營的驗(yàn)證和分析,尤其是在結(jié)構(gòu)設(shè)計階段進(jìn)行一拍一派的C模擬器模擬,并把C模擬文件作為詳細(xì)結(jié)構(gòu)設(shè)計的文檔,實(shí)現(xiàn) “可執(zhí)行的結(jié)構(gòu)設(shè)計”.在項(xiàng)目進(jìn)度方面,為降低風(fēng)險采用“小步快跑”的策略,進(jìn)行多次流片并根據(jù)流片結(jié)果不斷優(yōu)化結(jié)構(gòu)和物理設(shè)計以提高性能.目前龍芯2號已經(jīng)進(jìn)行了兩次成功的試流片,龍芯2號0.18um的定型芯片也已于2004年7月初交付中芯國際進(jìn)行流片.根據(jù)實(shí)際的性能測試和分析,龍芯2號首片的性能是龍芯1號的3-5倍,而7月份流片的定型芯片的性能又是首片龍芯2號的3-5倍.
二是充分發(fā)揮結(jié)構(gòu)設(shè)計優(yōu)勢和進(jìn)行軟硬件協(xié)同的設(shè)計.在結(jié)構(gòu)上通過CPU中各個層次的并行性開發(fā)來提高性能.這些并行性包括指令級并行、數(shù)據(jù)級并行以及線程級并行.龍芯2號在并行性開發(fā)上主要開發(fā)指令級并行技術(shù),即實(shí)現(xiàn)四發(fā)射結(jié)構(gòu),并實(shí)現(xiàn)充分的亂序執(zhí)行技術(shù)有效發(fā)揮多發(fā)射通路的效率,減少指令間的互相等待.此外,龍芯2號還實(shí)現(xiàn)了數(shù)據(jù)級并行的媒體處理部件.軟硬件協(xié)同主要指通過編譯優(yōu)化及硬件對編譯器的支持提高性能,既不片面追求復(fù)雜的硬件,也不把沉重的優(yōu)化負(fù)擔(dān)完全壓在編譯器身上.龍芯2號的后期版本及龍芯3號將進(jìn)一步實(shí)現(xiàn)線程級并行技術(shù).
三是從兼容起步的策略.由于現(xiàn)代計算機(jī)中軟件開發(fā)費(fèi)用已經(jīng)大大超過硬件開發(fā)費(fèi)用,因此兼容性設(shè)計是龍芯CPU設(shè)計的重要目標(biāo).龍芯CPU與主流CPU之一的MIPS兼容.除了用于計算機(jī)外(SGI的工作站主要使用MIPS兼容CPU),MIPS CPU還在網(wǎng)絡(luò)、打印機(jī)、游戲機(jī)等領(lǐng)域得到廣泛應(yīng)用.由于支持MIPS兼容的指令系統(tǒng),除了很容易運(yùn)行LINUX操作系統(tǒng)外,龍芯CPU還能支持VxWorks以及WinCE等主流嵌入式操作系統(tǒng).當(dāng)國家與企業(yè)有足夠的投入和其他條件成熟時,將按市場需求和技術(shù)發(fā)展趨勢設(shè)計自己的指令系統(tǒng).
四是堅持系統(tǒng)設(shè)計、物理設(shè)計和驗(yàn)證的緊密結(jié)合.首先,結(jié)構(gòu)設(shè)計和物理設(shè)計需要緊密結(jié)合.在龍芯2號的設(shè)計中,流水線的最大邏輯路徑不是由體系結(jié)構(gòu)設(shè)計的需要來確定,而是由物理設(shè)計的要求來確定.即先確定每一級流水線的最大延遲并在此約束下進(jìn)行結(jié)構(gòu)設(shè)計.其次,驗(yàn)證工作貫穿于設(shè)計的整個過程,占總工作量的60-70%.驗(yàn)證的難度在于對于CPU這樣的復(fù)雜系統(tǒng),任何驗(yàn)證工作只能證明錯誤,不能證明正確.因此,驗(yàn)證的目標(biāo)是為了增加項(xiàng)目管理人員的信心,驗(yàn)證的目的是為了發(fā)現(xiàn)錯誤.
二、堅持產(chǎn)出導(dǎo)向,加速產(chǎn)業(yè)化
根據(jù)計算所領(lǐng)導(dǎo)關(guān)于科研人員應(yīng)該以產(chǎn)出為目標(biāo),而不是以申請經(jīng)費(fèi)為目標(biāo)的要求,龍芯課題組在龍芯2號的研制過程中就著眼于龍芯2號的未來應(yīng)用,并隨時根據(jù)市場的要求調(diào)整設(shè)計目標(biāo).
龍芯2號的研制目標(biāo)是實(shí)際性能達(dá)到PIII或低端的PIV的性能.這樣性能的芯片與目前主流的通用CPU芯片相比還有一定差距,但還是有很大的市場空間.為了提高市場競爭力,課題組在分析了CPU從Performance per Second,到Performance per Dollar,到Performance per Watt的發(fā)展過程后,在低成本和低功耗設(shè)計上下工夫,提出CPU加上北橋芯片的成本在20美元之內(nèi),功耗在3-5瓦之內(nèi)的設(shè)計目標(biāo).為此,課題組在經(jīng)費(fèi)和任務(wù)都緊張的情況下進(jìn)行了北橋芯片的設(shè)計,以降低系統(tǒng)成本.
龍芯2號的主要應(yīng)用目標(biāo)是Linux桌面PC、低端服務(wù)器、信息家電、網(wǎng)絡(luò)防火墻、路由器交換機(jī)等,其低主頻的早期版本也可以用于NC、無盤工作站等瘦客戶機(jī).針對上述應(yīng)用,在龍芯2號樣片的基礎(chǔ)上已開始進(jìn)行系統(tǒng)設(shè)計,為潛在用戶提供解決方案.
正是由于在龍芯2號的研制過程中緊密聯(lián)系市場的需求,使得龍芯2號在設(shè)計過程中就有了很好的市場前景.雖然龍芯2號定型芯片還在設(shè)計,但已有很多企業(yè)使用龍芯2號的試驗(yàn)芯片進(jìn)行系統(tǒng)及市場開發(fā).還有不少海外企業(yè)準(zhǔn)備購買龍芯2號的IP(龍芯2號是目前世界上唯一可出售設(shè)計技術(shù)的64位高性能CPU芯片).
三、堅持以任務(wù)帶學(xué)科,在執(zhí)行任務(wù)中突破關(guān)鍵技術(shù)
作為一個國立研究機(jī)構(gòu),承擔(dān)國家的重大項(xiàng)目,處理好任務(wù)與學(xué)科的關(guān)系十分重要.片面重視完成任務(wù)忽視科研和片面重視論文忽視任務(wù)都是不對的.任務(wù)和學(xué)科不是對立的關(guān)系,而是統(tǒng)一的關(guān)系.在執(zhí)行項(xiàng)目過程中,課題組始終堅持“以任務(wù)帶學(xué)科,以系統(tǒng)帶科研”,即在執(zhí)行任務(wù)過程中發(fā)現(xiàn)問題,并通過研究解決問題,向任務(wù)提供關(guān)鍵技術(shù).課題組十分重視處理好完成任務(wù)和人才培養(yǎng)的關(guān)系.龍芯課題組中有三分之二人員是研究生,課題組的導(dǎo)師克服把研究生當(dāng)作廉價勞動力的思想,結(jié)合任務(wù)站在學(xué)生的角度來考慮適合每個學(xué)生的發(fā)展方向.堅持研究生的論文應(yīng)該“從任務(wù)中來、到任務(wù)中去”,“源于任務(wù)、高于任務(wù)”,并把培養(yǎng)超過自己的學(xué)生作為重要目標(biāo).在課題組中,很多研究生都成了業(yè)務(wù)骨干,有的甚至在讀期間就成為子課題組長.
在上述思想指導(dǎo)下,經(jīng)過努力,項(xiàng)目在芯片設(shè)計方法學(xué)、體系結(jié)構(gòu)設(shè)計、驗(yàn)證、CPU芯片物理設(shè)計、通用CPU芯片的配套軟硬件環(huán)境等關(guān)鍵技術(shù)方面,取得了顯著突破與創(chuàng)新成果(篇幅所限,這里不一一列舉).
四、前途是光明的,道路是曲折的
龍芯課題組是一支年輕的隊(duì)伍.從2001年初的以研究生為主的沒有芯片設(shè)計經(jīng)驗(yàn)的十幾人的隊(duì)伍,經(jīng)過短短的三年時間,已發(fā)展成為近百人的能打硬仗的隊(duì)伍,人員平均年齡只有27歲.為了完成任務(wù),全組常年每周工作六天,每天工作十幾個小時,從2001年起三個春節(jié)中有兩個春節(jié)加班.在項(xiàng)目緊張的時候經(jīng)常連續(xù)一個禮拜不分晝夜地工作.每次流片成功后,課題組成員都要到天安門廣場看升國旗以激勵士氣.
經(jīng)過三年多的努力,目前課題組已基本掌握通用CPU的設(shè)計技術(shù),龍芯2號的實(shí)際性能已達(dá)到2001年左右的國際先進(jìn)水平.與國際上其他通用處理器設(shè)計公司如Intel、IBM、SUN等公司相比,也許課題組在經(jīng)驗(yàn)上還差些火候,但在關(guān)鍵技術(shù)的掌握方面,已經(jīng)不存在“沒有捅破的窗戶紙”,需要的是更多的實(shí)踐和大工程的鍛煉.
在完成現(xiàn)有任務(wù)的基礎(chǔ)上,課題組擬從2004年下半年開始,使用0.13或0.09微米工藝,爭取在年底前實(shí)現(xiàn)600-800MHz的CPU芯片,并在2005年達(dá)到1GHz以上的目標(biāo).同時通過進(jìn)一步結(jié)構(gòu)優(yōu)化,使其實(shí)際性能相當(dāng)于1.5GHz到2GHz的PIV的性能.