我國科技界與產業界至今對如何快速而健康地發展我國IC產業,特別是對如何發展CPU產業還沒有達成共識。本文以研制龍芯CPU的策略考慮為基礎,對發展我國的集成電路設計產業提出一些觀點與看法,請教于全國同行,旨在拋磚引玉,希望對決策層盡快做出科學決策有所裨益。
一、跨越與跟蹤
IC加工業是資金高度密集的產業,一條0.18微米生產線,一般要投資15億美元以上,國外對先進IC加工設備出口中國仍有許多限制,因此,我國在芯片加工方面實現跨越式發展難度相當大。相對而言,芯片設計是智力密集型產業,雖然IC設計產業的收入目前只占整個IC產業10%左右,但營業額增長率高于制造業3倍以上。臺灣IC設計業1998年、1999年的投資回報率分別為21.6%和39%,比IC制造業的回報率(4%或12.6%)高幾倍。據麥卡錫公司預測,中國國內IC設計業2010年的收入可達100億美元。我國從事芯片前端設計的人力資源豐富,許多研究所和大學都有不少從事系統和硬件設計的人才。芯片設計的知識產權和專利很多都體現在系統級設計上,尤其是當進入片上系統(Soc)設計時,系統級的創新更加重要。龍芯一號CPU物理設計的成功表明有系統級設計經驗的人轉入物理設計并不是一件高不可攀的事,入門并不難,只要有一股鉆勁,經過幾年的積累,我國一定會出現一批物理設計的高手。當然物理設計本身是一門高深的技術,微電子專業的人才是物理設計的主力。因此,我認為,中國實IC產業跨越發展的主要希望在芯片設計上。
在分析了計算所系統設計方面的技術儲備與優勢后,我們在龍芯一號設計開始時,提出了“高起點,一步到位”的要求。所謂高起點是指盡可能采用先進的制造工藝。我們第一次設計和流片生產CPU就跳過了0.35、0.25微米工藝,選用了目前代加工廠主流的0.18微米工藝。做出這種決策不是盲目地碰運氣,而是通過與硅谷許多有經驗的工程師深入調研分析流片成功的可能性后做出的,從某種意義上講,這也是利用了“后發優勢”,“借樹開花”。所謂“一步到位”,當然不是指第一次設計就做出性能超過P4的CPU,而是針對當時國內有些單位還在啟動研制386、486的形勢,要求我們在微體系結構上有創新,用國際先進水平的體系結構實現64位浮點運算,盡可能實現技術上的跨越式進步,而不是從模仿20世紀80年代技術開始一步一步爬行,并且一開始就強調正向自主設計,不采取解剖別人芯片反向設計的路線。“一步到位”的另一層意思是不做供鑒定用的實驗室樣片,而是要確保萬無一失,經得起產品檢驗,做成可批量生產的芯片。經過一年多努力,龍芯一號達到了預期目的。
我們真正期盼的跨越式進步的標志性產品是龍芯2號。我們在設計龍芯2號時,已分析了Intel P4、Sun SPARC、HP的Alpha、IBM Power4等多種主流芯片的微體系結構,要求龍芯2號的體系結構有自己明顯的特色,以最有效的方法實現四發射,即一時鐘周期可同時執行四條指令(P4實現了三發射),而且要為下一步研制超線程CPU和多處理機CPU打下基礎。計算所與在美國參加過千萬億次計算機研制的高光榮教授共同成立了先進計算機聯合實驗室,重點研制多線程機制,爭取實現幾十個甚至幾百個線程并行操作。這項技術各大公司還在研究之中,我們將爭取以跨越的技術進入國際前列,在龍芯3號、龍芯4號中采用。
我們主張的跨越式發展還體現在我們對微處理器發展趨勢的理解與判斷上。國人對于CPU和操作系統有特殊的感情,把這兩者稱為信息技術的核心技術。實際上隨著Interent普及與發展,人們心目中的P3、P4之類的CPU和Windows之類的操作系統的地位正在不斷下降。在向科學院領導申請知識創新重大項目時,我曾說過,龍芯微處理器的目標不是傳統的“CPU”,而是“DPU”,即Distributed Processor Unit。所謂中央處理器是針對過去的大型計算機取的名,隨著網絡存儲和各式各樣的通信與終端設備直接上網,微處理器將分布在各種設備中。以后計算機、通信設備(如智能化的路由器等)和信息家電的界限越來越模糊,新一代的微處理器和現在PC機上的CPU將會有很大區別,創新的空間很大。中國的芯片設計要跨越發展,可能要通過軟件和算法的突破來彌補硬件加工的不足。系統設計人員在芯片設計產業中將扮演十分重要的角色。總之,我國的芯片產業不能再走PC產業走過的以組裝為主的老路。如果只重視附加值很少的低端芯片或主要用別人的IP“組裝”低端SoC芯片,前途不會太美好。
二、通用與專用
我國CPU的研制尚未真正開展起來,863計劃集成電路重大專項的高性能CPU項目還處在軟課題研究階段,但關于重點支持所謂通用CPU還是嵌入式CPU的討論已經進行多次,不幸的是誰要是講想做通用CPU,馬上就有人反駁:你想趕上Intel P4?這肯定不可能,還是先做點電表控制芯片、身份證卡吧。國外公司研制芯片只關心市場有沒有需求,不會先浪費時間論證應該做通用還是嵌入式芯片。從各個芯片公司的網頁上我們只會看到各種型號芯片的介紹,看不到他們將芯片分成通用和嵌入式。
從語文的角度上講,“通用”的反義詞是“專用”不是“嵌入式”。所謂嵌入式CPU是指安裝在不是計算機的路由器、手機、電視機、汽車等設備上的CPU芯片,而裝在PC機、筆記本電腦、工作站、服務器上的CPU一般稱為通用CPU,因為它能執行各種各樣的程序。嵌入式是CPU的一種應用,一般只要求運行某種確定的程序,很多場合的嵌入式應用都要求低功耗,特別是像手機、PDA這類手持移動設備,低功耗意味著充一次電可運行更長時間,因此,低功耗應用追求更高的MIPS/W(每瓦每秒百萬指令),而不是MIPS數。好的嵌入式芯片,如IBM PowerPC750FX每瓦的MIPS數比Intel P4(2.4G)高10倍,但從芯片的指令系統和體系結構而言,所謂通用CPU和嵌入式CPU并沒有本質區別。不論是通用CPU還是嵌入式CPU,只要是低檔產品都容易做而高檔產品都難做。要特別強調的是所謂嵌入式芯片五花八門,但大都采用通用的CPU核,如MIPS核、ARM核等,從這個意義上講,通用CPU和嵌入式CPU技術上是完全相通的,不存在只能選其一的問題。
在集成電路的發展歷史上,芯片產品在制造與使用的對立統一中發展,隨著半導體產業的景氣循環,總是沿著通用與專用循環往復不斷進步。天同證券公司在網上發表了一篇“半導體產業行業研究報告”,對通用專用芯片交替發展做了一些分析,本文下面引用該文的分析結果。1959年仙童公司推出第一個硅平面晶體管商品,開始了芯片產品第一個通用循環周期。其后不久仙童公司又推出面向計算器、電視機的專用標準構件,標志著IC產品進入第一個專用循環周期。20世紀70年代Intel公司開發成功微處理器芯片,使IC產品上升到一個新的通用循環。20世紀80年代設計工具的發展推動了一個產品滿足一個用戶要求的專用集成電路(ASIC)的發展,使IC產品進入高一級的專用循環。20世紀90年代初,又發展出了可編程門陣列(FPGA),用戶可進行軟編程反復改變硬件功能,又進行新一輪的準通用循環。隨著ASIC技術的積累,IC開始向片上系統(SoC)發展,SoC實質上是更高一級的專用系統。隨著通用一專用模式的交替發展,硬件軟件的界限開始模糊起來,IC設計進入了基于可重用知識產權(IP)庫的設計階段。
IC發展歷史已表明,通用CPU是IC技術發展的源頭。從幾年前開始,最先進的IC制造工藝首先在通用CPU上使用(過去曾經是DRAM)。如果我們不敢碰通用CPU,就只能永遠跟著別人走。在2000年計算所醞釀研制CPU時,我們曾反復討論過是買MIPS或ARM CPU核,針對某個應用做點外圍電路,還是自己做一個有自主知識產權的MIPS CPU核或類似ARM的CPU核。我們的結論是沒有自己CPU核的芯片產業就如同沒有CPU的PC產業一樣,而研制通用CPU是形成有市場競爭力的CPU核的重要途徑。因為一個好的CPU核必須經過多種應用的考驗,單獨為汽車控制等應用做一個較專用的CPU難以擴棄成較通用的CPU核。
從網絡信息安全的角度出發,我國也需要有自己的通用服務器CPU。服務器相當于電網中的發電站,一旦服務器受到打擊,將會造成大范圍的網絡癱瘓。服務器的用量少于終端(美國服務器的銷售額約為PC機的1/3),但服務器CPU作為涉及國家政治、經濟、信息安全的核心技術一定要掌握在自己手里。在龍芯CPU研制時,從硬件設計上采用了防止緩沖區溢出攻擊的新技術,可以防止大多數黑客和病毒攻擊(即使軟件有漏洞也能防攻擊),并申請了10項發明專利。龍芯一號流片成功后,曙光公司很快就推出了基于龍芯一號的龍騰服務器,盡管其性能只相當于四五年前的PC服務器,但其與眾不同的高安全性對政府、金融、國防等部門用戶會有吸引力。
通過以上分析,我們的結論是我們應重點發展量大而廣的芯片設計,即較通用的嵌入式芯片,同時要重視高安全性的服務器CPU芯片設計。形成較通用的嵌入式CPU核的一條可行途徑是從設計通用CPU入手。通過應用實踐再適當裁剪通用CPU比從專用CPU開始不斷擴充更合理。雖然國內對低端微控制器芯片仍有一定需求,但從海關統計數字來看,不論是CMOS芯片還是其他數字集成電路,大多數進口芯片是0.25微米以下工藝生產的芯片。是否在落后工藝下生產量小面窄的嵌入式芯片應由企業自己判斷決定,國愛不能采取只要是嵌入式芯片就支持的短視政策。
龍芯一號CPU研制體現了我們制定的發展戰略,一個多月來十多種應用輕松移植,表明龍芯CPU既是一種較通用嵌入式芯片(功耗小于0.5w)可用于網卡網關、網絡終端計算機(NC)等,同時也是高安全性的服務器芯片,可用于網絡服務等。明年一季度,基于龍芯一號的SoC芯片將問世,更適合于做NC和網絡設備。
剩下的一個問題是我們究竟做不做與Intel兼容并與之競爭的通用CPU芯片。我們的意見是暫時不做。我國輿論界有一種誤導使許多老百姓認為“信息技術主要是PC機,PC的核心技術是P3、P4芯片,芯片的高技術是高主頻。”實際上PC用的CPU只占微處理器數量的1%左右,但銷售收入有200多億美元,占全球1500多億美元IC總收入的15%左右(有機構統計,PC用IC占IC總市場的30-40%)。PC芯片的高收入高利潤是多年來Wintel聯盟的“功績”,我們暫時不具備實力與Intel比高低。在未來的發展中,各種Intelnet Appliance(所謂IA產品)增長勢頭明顯大于PC,據IDC公司預測2002年IA產品銷售數量將達到1.8億臺,超過PC機銷售數量。PC機本身也在變化,用戶未必希望PC機主頻3G、4G這樣升上去。因此我們不能固守“通用CPU=P4”這種思維模式。
三、兼容與另起爐灶
龍芯一號啟動時,最重要的決定是要不要與國外主流系統兼容,如果要兼容與哪一家兼容?有人認為選擇芯片指令系統是一個政治問題,是受不受制于人的問題。我們則認為,在全球經濟一體化的形勢下,我們要拋棄所謂“完全自主知識產權”的舊觀念,世界上幾乎所有芯片公司的產品都是“你中有我,我中有你”,連Intel公司都買別人的IP,為什么剛剛起步的中國IC設計產業就必須全用自己的IP?兼容不兼容完全是市場行為,是我們根據推廣龍芯CPU的市場需要決定的。應當說作出必須兼容的決定在很大程度上受到曙光服務器成長過程的啟發。曙光一號服務器和曙光1000大規模并行機開始走的是一條不完全兼容的路,我們在AT&T Unix和Mach OS基礎上分別研制了自己的并行操作系統。盡管符合POSIX標準,有自主知識產權,可以得國家最高的科技成果獎勵,但數據庫廠商和第三方應用軟件廠商不愿意花功夫為曙光機移植軟件,曙光機只能賣給自己有源程序的用戶,市場上成千上萬種應用軟件用不上。冷酷的事實教育了我們,為了充分發揮后發優勢,利用已有的巨大軟件資源,與主流系統完全兼容是迅速擴大市場份額的良策。我們相信推廣龍芯CPU將會遇到與曙光服務器同樣的問題,因此毫不猶豫地選擇了兼容道路。
經過對X86、PowerPC、MIPS、SPARC等多種指令系統的仔細分析,我們最終選擇了MIPS指令系統、在這一選擇中,唐志敏研究員起了關鍵作用。唐志敏研究員是計算所年輕的博士導師、863計劃計算機主題專家組成員,也是龍芯CPU課題負責人。他在體系結構方面造詣頗深,對各種RISC指令系統做過深入分析后,認為選用比Alpha功能強又比PowerPC簡單的MIPS指令系統具有較好的可行性。選擇MIPS指令系統的更重要的原因是出于市場考慮。MIPS公司不同于Intel、SUN和IBM,它不是IDM公司,自己并不生產銷售芯片,而是以賣License和服務為營業范圍,它不但不像Intel公司那樣反對別人做兼容芯片,而是支持其他廠家做MIPS兼容芯片.世界上許多大公司,如生產路由器的CISCO、生產游戲機的SONY等都采用MIPS指令系統。MIPS芯片不僅用于SGI公司的高檔工作站與服務器,而且是主流的高檔嵌入式CPU,每年MIPS芯片銷售量超過7000萬片。市面上已有大量MIPS應用軟件,龍芯一號流片成功后許多整機廠商一小時內就裝上了應用軟件,充分證明我們的決策是正確的。
與兼容策略相關還有一件大家十分關心的事,那就是如何避開專利。國內有些專家認為芯片設計專利是我們難以逾越的障礙,我們有些決策者也對此憂心忡忡。專利的確是我們必須高度重視的技術障礙,但也不能把專利看成攔路虎,長他人志氣,滅自己威風。我們在研制龍芯一號過程中查閱了所有有關專利,我們發現指令系統本身不是專利,而且幾乎沒有一項概念性的專利,例如Cache技術、多發射技術等,所有專利幾乎都與具體實現技術有關。我們設計CPU是先通過譯碼器變成自己定義的統一中間代碼,所有的功能部件執行中間代碼,與原來的指令系統無關。所以對我們而言,回避專利與采用什么指令系統沒有關系。我們在設計中沒有侵犯任何專利而且自己申請了十余項發明專利。今后做全定制設計,除了我們自己設計一些關鍵的宏單元外,一定會購買一些IP使用權,包括一些專利使用權。在IC設計中這是十分正常的。今后我們自己的專利與IP越來越多,通過Cross Licencing共享互用IP和專利是必由之路。與計算機產生一樣,IC產業的橫向分工越來越明顯,IP(包括專利)將是IC設計廠商的主要產品,我們要學會如何買賣IP不要談“專利”色變,作繭自縛。
還有一種看法是認為采用別人的指令系統說明沒本事,還不掌握CPU核心技術,不如另起爐灶自己定義指令系統的單位水平高。實際上學過計算機原理與系統結構課的人都知道,自己定義一套指令系統并不是難事。40多年前,計算所就開始自己定義指令系統,幾十年來計算所研制的十幾種計算機都是自己定義指令系統。一個好的指令系統要經過大量應用反復考驗修改才能成為市場接受的主流系統。如同大家用C、VB、JAVA編程序,沒有人強調非要自己定義一種語言編程一樣,研制CPU的水平并不在于是不是自己定義指令系統,誰能占領市場才是真本事。
四、IC設計的科研與產業化
龍芯一號研制成功后,馬上面臨研制更高性能的龍芯2號與盡快將龍芯一號產業化的矛盾,這與當時研制曙光機的情形十分類似。我們決不能只以不斷研制出新的CPU為目標,置產業化于不顧。在科研人員中要樹立一個觀念,龍芯一號賣不出去,研制出龍芯2號也沒有多大意義。計算所的科研人員已做了計劃,全力配合神州龍芯公司打開市場,龍芯1.1、龍芯1.2兩款SoC產品的優先級放在龍芯2前面。神州龍芯公司也在大力開拓龍芯CPU的應用,爭取較多的定單。我們的體會是在研制龍芯CPU時,為國分憂的激情是一股強大的動力,胡偉武研究員幾篇關于龍芯研制過程的文章催人淚下,表明年輕一代科研人員像兩彈一星研制人員一樣有著高尚的愛國情操和頑強的拼搏精神,計算所有這樣一批又紅又專的人才才能做出讓人眼睛一亮的成果。如果我們一味等待國外的高手回來才開始研制,恐怕今天龍芯CPU還只存在于希望之中。另一方面,根據我們推廣曙光機的經驗,我們不能把產業化的希望寄托在用戶的愛國熱情中。CPU雖然是涉及國家安全的特殊產品,但賣產品就是賣產品,不能加上過多政治色彩,必須靠產品本身的可靠性、高性價比和出色的服務取得用戶的信任。從某種意義講,推廣龍芯CPU是比研制CPU更艱苦的一場戰斗。較通用的嵌入式CPU的用途很廣泛,不一定非常性能超過P4才能賣得動,266M 0.5W功耗的MIPS兼容CPU芯片一定有它對應的廣闊市場。國家在開始推廣國產CPU時做一些扶植是必要的,但關鍵在自己努力。我們有信心比推廣曙光機做得更好,讓國產CPU盡快在市場上占有一席之地。








