■本報記者 趙廣立
“八五”“九五”期間,我國連續10年沒有部署通用處理器(CPU)研制項目。于1999年底出任中國科學院計算技術研究所(以下簡稱計算所)所長的李國杰,為此心急如焚。
“錯過這5年,以后就沒機會了!”李國杰到處奔走呼吁:“十五”期間要花大力氣做通用處理器。
通用處理器是芯片中的“珠穆朗瑪峰”,是信息領域的基礎和核心。沒有它,計算機系統及各類電子設備都將受制于人。但國內在論證要不要做通用處理器時并沒有統一意見。不少專家認為國內沒能力做,還有人覺得我們國家不用做。
申請不到經費,計算所只能破釜沉舟。2001年,計算所下決心拿出1000萬元的“家底”,設立通用處理器研制項目。
啟動資金有了,下一步就是找人。李國杰一開始琢磨著找有經驗的老同志來牽頭,直到30歲出頭的胡偉武進入他的視野。
“龍芯1號”芯片。
1 立下“軍令狀”的年輕人
“十五”初期,國內比較主流的觀點是我國應以研制專用的嵌入式處理器為主:一是許多人認為我國還不具備研制高性能通用處理器的能力;二是專用的嵌入式處理器需求量更大,市場更廣闊。也有折中建議,認為應先從芯片封裝入手,等掙到一些錢、學到一些本事再考慮先進的芯片設計。
李國杰堅持認為,中國的芯片產業不能再走像個人電腦產業一樣以組裝為主的老路,如果只重視低端芯片或用別人的產品組裝,“前途不會太美好”。
“如果我們不敢碰通用處理器,就永遠只能處于技術的下游。”李國杰說,幾年前他曾在上海參觀一家飛機設計所,該所展廳里的一幅題詞讓他大感震撼。
那是兩院院士、時任中國工程院院長宋健的題詞,只有4個字——“站起來吧”!
“認為中國不可能做出通用處理器的人,缺少的正是‘站起來’的自信心。”李國杰說。
在年輕的胡偉武身上,他看到了這種自信心。
胡偉武1991年從中國科學技術大學畢業后進入計算所攻讀博士學位,之后留所工作。一個偶然的機會,讓他與通用處理器項目命運相連。
2000年10月,胡偉武被派往母校招生。回到原來待過的實驗室,自己和同學10年前用400多個元器件搭起來的電路還靜靜地躺在那里。
熟悉的操作臺映入眼簾,讓胡偉武產生了一種“重操舊業”的沖動——那些沒日沒夜與邏輯門、觸發器等“玩命”的日子,對他“有一種深深的誘惑”。
他想到了所里正在籌備的通用處理器項目,撥通了計算所系統結構室主任唐志敏的電話,半開玩笑地立下“軍令狀”:“兩年內不把通用操作系統啟動起來,我提頭來見!”
2 小名“狗剩”,英文名Godson
年輕的負責人可能對完成課題任務沒有百分之百的把握、不十分清楚“水有多深”,但正是這些不確定性才能激發出創造潛力。李國杰后來說:“我相信人才是可以逼出來的。”
通用處理器要先做邏輯設計。通用處理器設計項目開始后,李國杰在全所會議上制定了“高起點、一步到位”的目標,要求設計團隊從高性能通用處理器入手,走跨越式發展的技術路線。
2000年11月,唐志敏和胡偉武著手拉起隊伍,成立“龍芯課題組”。
課題組非常簡陋,只有十來個人、100萬元經費和一間50平方米大小的實驗室。36歲的唐志敏負責整個處理器設計的總體規劃;33歲的胡偉武作為項目負責人,帶著七八名研究生做具體設計。
課題組后來還加盟了一位工程經驗豐富的“大哥”——38歲的計算所客座研究員張志敏。他放棄出國的機會和高薪的工作,在處理器設計中負責工程管理。
張志敏個性沉穩,與胡偉武一張一弛,非常互補。每周一上午開例會,胡偉武總要慷慨激昂地動員一番,張志敏卻總是冷靜地指出困難所在,適時“潑冷水”,以至于有時候他不“潑冷水”,大家都不習慣。
龍芯課題組一開始面臨的問題是,選擇哪條技術路線。
技術路線正確與否不僅影響科研進度,還將決定龍芯處理器未來的命運。
唐志敏仔細分析多種指令系統后,最終決定選擇采用RISC結構的MIPS指令系統。這是一種兼容方案,主要是出于市場考慮:MIPS應用面比較廣,服務器和嵌入式系統都可以用;同時,技術壁壘比較低,知識產權障礙較少。
龍芯課題組還給這個處理器取了一個很有傳統特色的小名“狗剩”。
“名字賤一點容易養大。”胡偉武說,“音譯成英文,就是Godson。”
3 “狗剩”跑起來了
在努力攻堅“狗剩”的幾個月里,團隊成員付出了難以想象的艱辛。
胡偉武記得,設計工作的全面鋪開是2001年“五一”假期后。當時所里通知,10月要展示處理器設計方面的成果。由此,團隊進入了夜以繼日的工作狀態。
胡偉武說,當出現一個錯誤時,應用程序、操作系統以及處理器本身都是懷疑對象,需要多方面協調與分析,每次都是連續幾天幾夜的鏖戰。
最后一次聯合調試尤為“慘烈”。“即使發現一個很小的錯誤,修改一次設計再形成新的燒制文件,至少也需要8小時。只有24小時不間斷,才能保證一天有幾次修改的機會。”胡偉武說,8月中旬,為了趕進度,幾名骨干決定冒險把聯調時間提前一周。
他們周一晚上開始聯調,周二凌晨4點寫入燒制文件,沒有任何動靜。發現問題后,他們趕緊修改并趕在中午12點之前形成新的燒制文件,寫入后仍無響應。晚上接著調試,發現處理器插卡上有兩個焊點短路,擦除后,主板上的液晶顯示器終于顯示出“Godson”這幾個字母。
“跑通了!”大家一片歡呼。
團隊一鼓作氣,于周三晚上成功啟動了經過改造的基礎輸入輸出系統(BIOS)。周四一早,他們又試圖啟動Linux操作系統。不巧,每次都在最后關頭報錯,直到周六晚飯時才發現問題。大家匆匆扒拉幾口飯繼續修改,改好已是8月19日凌晨2點多。
2時42分,屏幕上終于出現了“login”字樣,登錄進去之后可以正常操作。
這就是“龍芯1號”,它終于走通了關鍵的第一步。胡偉武興奮地給唐志敏打電話:“‘狗剩’跑起來了!”
那天,在場的6位成員都極度疲憊,但也都興奮得毫無睡意,一直聊到天亮。胡偉武回憶,那個凌晨的北京電閃雷鳴、風雨交加,他回去后連續睡了20多個小時才把覺補回來。
4 “以我為主”的物理設計
第一步成功之后,“龍芯1號”的物理設計馬上提上日程。
這期間,龍芯通用處理器的研發得到了中國科學院知識創新工程方向性項目500萬元經費的支持,加上計算所匹配的經費,龍芯團隊的經費從100萬元增加到了1000萬元。
不過,不少人對龍芯團隊做物理設計表示擔憂。從歷史上看,計算所并沒有做過大規模芯片的物理設計。
胡偉武對團隊有信心。鑒于計算所在物理設計上的空白,他提出了“以我為主”并聯合相關單位進行物理設計的方針,并和唐志敏商量出將“龍芯1號”流片分兩步走的策略。第一步,委托有經驗的第三方公司進行物理設計,作為“保底方案”;第二步,組織隊伍進行獨立的物理設計。
物理設計對龍芯團隊來說是一個全新領域。他們就如同“劉姥姥進大觀園”,既感新鮮又不知所措。不過,大家努力“補課”——在整個物理設計中,人均看過1萬頁文檔。
在2002年初的全所大會上,李國杰把“龍芯1號”流片作為全所最重要的任務。
5 “老兵”馳援
從“不會”到“會”,胡偉武心里慢慢踏實下來。更令他心安的是,龍芯團隊迎來了物理設計的“行家+老兵”馳援——中國科學院微電子中心(中國科學院微電子研究所前身)研究員黃令儀。
早在2001年12月,計算所就聯系黃令儀:“希望您能幫助我們的處理器做物理設計。”
黃令儀是中國“缺芯少魂”的親歷者。1989年,她被公派到美國,恰逢拉斯維加斯舉辦國際芯片展覽會。她跑遍展會攤位,愣是沒找到一個中國的展位。那時她暗下決心:“一定要設計一塊高水平的芯片來參展,為祖國洗刷恥辱。”
2002年1月21日,66歲的黃令儀敲開唐志敏的辦公室:“我來和你們干物理設計。”
兩天后,黃令儀帶著4名同事一起來到龍芯實驗室。胡偉武表示熱烈歡迎,并告訴黃令儀:“我們要讓全中國的人都能用上自己的通用處理器。”這句話讓她備感振奮。從這天起,兩人開啟了長達近20年的密切合作。
計算所提出當年9月底前完成流片的要求。2002年春節,龍芯團隊大多數人都留下來加班。大年二十九,他們在“辦公室臥室”貼對聯,其中一副是:
上聯:辭舊歲狗剩橫空出世
下聯:迎新春龍芯馬到成功
橫批:馬躍龍騰
6 沒有硝煙的戰爭
按照既定部署,交給第三方公司的方案為1A,龍芯團隊自主設計的方案為1B。黃令儀出于經驗,和胡偉武商量,龍芯團隊要做兩個芯片方案1B和1C:1B確保打通全部流程,對時序和面積不必苛求;1C為力爭能實現的方案,時序要嚴、面積要小。
本以為這套方案已很周全,孰料臨近流片交付,問題接踵而來。
“一天一個‘沖擊波’,如果是心臟病患者,肯定就要趴下了。”黃令儀回憶,1B和1C都“不省心”,團隊十幾個人幾乎天天不睡覺,面色蒼白,嘴唇都沒了血色,只有眼睛布滿血絲。
看到大家的樣子,黃令儀心底升騰起一股悲壯感:“這不就是一場沒有硝煙的戰爭嗎?”
在流片交付截止日期的前一天,巨大的挑戰突然出現。當天下午5點,測試組發現,整個處理器1萬多個觸發器的掃描鏈由于一個失誤沒有連出來。
胡偉武腦袋嗡的一下,一句話沒說,便扎進食堂吃飯,邊吃邊想:“剩下一天時間,幾乎沒有修復的可能,必須放棄1C方案的流片了。”想到這里,整個人一下子頹了。
他回到機房,把大伙兒召集起來說明了情況,看著大家熬脫了相的臉,幾乎決定放棄。沒想到負責后端版圖設計工作的楊旭說:“我們可以手工再改版圖。”這讓胡偉武眼窩一熱。
晚上8點,他召集全組在機房開會,動員大家:“我們肩負的是歷史使命,因為我們要做出第一臺不依賴外國處理器的計算機。”
接下來的兩天兩夜,他們硬是把1萬多個觸發器分成十幾條掃描鏈連了出來。
在連續加班的第七天凌晨,終于交付了所有流片文件后,胡偉武和黃令儀說:“我們沒什么可后悔了。”
有那么一瞬間,胡偉武非常懷念研制龍芯之前的日子。那時候,每天下班后可以接女兒一起坐班車回家,給她講故事、教她背《三字經》。回到家,幫妻子做好飯后,他喜歡躺在躺椅上,邊看新聞邊看妻子哄女兒吃飯。星期天一家人還可以去爬香山。而今,這一切變得很奢侈、很遙遠。
“我有時候覺得自己比‘周扒皮’還狠,我們課題組的成員也很玩命。”胡偉武記得,有好幾次,他在早上六七點鐘打開實驗室的門,發現有人手里握著鼠標就靠在椅子上睡著了。“看到這樣的場景,我忍不住想落淚,但還是叫醒他們接著干。”
有一次深夜,大家聊到“趕超”話題,一致認為中國落后這么多,外國人又不比我們笨,如果跟他們一樣都一周5天、一天8小時上班,恐怕很難趕上,“唯有像當年搞‘兩彈一星’一樣拼命才行”。
這一仗,打贏了
課題組成員在“龍芯1號”發布會上留影。
研制通用處理器是“一錘子買賣”,不是滿分就是零分。在這樣的壓力下,胡偉武經常凌晨三四點醒來就再也睡不著了。
在等待流片回來的一個多月里,他還常被噩夢驚醒——都是突然想起一個可能的疏忽,卻總也想不明白,直到天亮。到單位后趕快翻出來看看,才發現是虛驚一場。“這樣的經歷至少有10次以上。”
黃令儀也是如此。她堅持加工兩塊芯片后,一直“心中沉甸甸的”,擔心做不出來,好長時間都是在心驚肉跳中度日,慢慢地脖子竟不能動了。大夫囑咐她“不能再用電腦”。
終于,2002年8月9日,胡偉武看到傳達室信件通知欄上有了龍芯聯系人的名字,趕忙取回來。打開一看,是日夜盼望的芯片。
晚上,他們把帶有“龍芯1號”通用處理器的子卡插到主板上,先運行了一個簡單的測試程序。胡偉武屏住呼吸按下電源鍵,數碼管上瞬間顯示出“Godson-1”字樣。
經過一晚上的調試,8月10日6時8分,“Godson Login”字樣終于出現在顯示器上,大家激動得長時間歡呼。他們調試了幾次,一切正常。
胡偉武上樓到辦公室,給李國杰打電話:“李老師,我是胡偉武。”
“怎么樣?”
“成了。”
“我馬上來。”不到10分鐘,李國杰就趕來了。
8月29日,1C方案芯片也拿到了。
黃令儀不敢去現場看測試。直到胡偉武一個電話打到家里:“成功了!”她頓時心花怒放,脖子也不疼了。
以2002年8月10日“龍芯1號”研制成功為標志,龍芯團隊回答了“中國人能不能研制通用處理器”的問題。這一仗,計算所打贏了!
“龍芯1號”的誕生,結束了中國人只能用國外處理器制造計算機的歷史,被譽為民族科技史上的一個里程碑。該成果入選兩院院士評選的“2002年中國十大科技進展新聞”。
2002年9月28日,中國科學院舉行了“龍芯1號”發布會。當“龍芯1號”在滿場掌聲中閃亮登場時,胡偉武在臺下熱淚盈眶。
從2001年5月8日到2002年8月29日,“龍芯1號”的孕育者投入了478個日夜。胡偉武明白,這雖然是萬里長征第一步,但昭示著中國自主處理器的未來,今后還有無數個日夜等待他們去奮斗。
歷史也正是這樣書寫的:20多年來,龍芯篳路藍縷、艱難困苦、玉汝于成,在九死一生中活了下來、強大起來,實現了對個人電腦、服務器、高性能計算機上通用處理器的國產替代,成為一種標識、一個民族品牌、一座豐碑,巍然屹立于中國信息產業自立自強的歷史中。
黃令儀(右一)與胡偉武(右三)及龍芯課題組成員在龍芯2C芯片設計運行成功后到天安門觀看升旗。
蔣志海制版