■本报记者 赵广立
“八五”“九五”期间,我国连续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芯片设计运行成功后到天安门观看升旗。
蒋志海制版