找回密码
 注册
搜索
查看: 993|回复: 4

研发内幕揭秘:我们的龙芯二号(zt)

[复制链接]
发表于 2006-10-8 10:14:00 | 显示全部楼层 |阅读模式
2003年10月16日深夜,喧嚣了一天的计算所北楼终于沉寂了下来,我独自坐在北楼105房间忐忑不安地等待着。刚才还有郑为民和一个学生跟我在一起,几分钟前我派他们到后面的芯片小楼取逻辑分析仪去了。与北楼隔着一个篮球场的芯片小楼里还有10来个课题组的弟兄,他们都象我一样忐忑不安地等待着。

  17日凌晨0点30分,楼道里传来了有节奏的脚步声,在空旷而寂静的楼道里显得特别有力。脚步声越来越近,我的心一下子提了起来,咚咚的脚步声象敲在我的心上,因为我知道,我们的龙芯2号回来了。

  105房间的门被推开,张珩风风火火地闯了进来,手里抱着一个方盒子。他是我专门派到上海去封装厂家取龙芯2号芯片回来测试的。我们小心翼翼地打开盒子,几十片龙芯2号芯片象等待检阅的士兵一样整齐地排列在专用的包装盒里。一个电话拨到芯片小楼,不到两分钟,105房间就聚集了六、七个人,他们都是下午刚刚成立的联调组的成员。

  我挑了几个芯片,在用万用表对芯片进行一些简单的静态测试后,从中选了一个芯片放到子卡的插槽中盖好,并把子卡插到主板上。小心地按了一下电源开关,显示屏上没有动静,心里一阵紧张。试了几次后,换一个子卡,放上芯片后插到主板上,一按电源开关,显示屏一阵跳动,串串字符如约而至。我们一阵欢呼,刚才提到嗓子眼的心放回到心窝里先。

  在启动了一个简单的BIOS系统以后,开始启动LINUX操作系统,一切都很顺利。1点10分,屏幕上出现了LINUX操作系统的登录提示符“login:”。在拿到芯片的40分钟后,刚才等待时的紧张心情一扫而光。我们赶快打电话到芯片小楼告诉在那里等候的其他同学。钟石强还给我的妻子发了个短信,今晚她也在等待我们的消息。几分钟后龙芯2号收到了出世后的第一个祝福。

  4点30分,龙芯2号通过了其他的测试。我们用装有龙芯2号的计算机在我们CPU组的内部BBS上灌了龙芯2号出世后的第一瓢水,并发了几封EMAIL。我决定龙芯2号的第一次联调先告一段落,拿出放了很久的硅谷的一个朋友送的一瓶XO在芯片小楼的会议室里每人半纸杯庆祝了一下。喝完酒后大家兴致不减,根据事先的约定又打车到天安门广场看升国旗并去毛主席纪念堂向毛主席报告。今年是毛主席诞辰110周年,我们这款芯片的名字就叫MZD110。

  6点25分,我们又一次站在天安门前的国旗杆下,看着红彤彤的国旗在国歌声中冉冉升起。去年在接受《东方之子》节目采访时,他们曾问我在龙芯1号研制成功后看升国旗时心里想什么,我那时真忘了想什么了。这次我试图去想一些有意义的事情,比如什么豪言壮语之类的。可是面对国旗,脑袋里一片空白,只是在国旗猛地串上杆顶的那一刹那,24小时前杨利伟走出神舟5号舱门冲大家挥手的画面突然出现在我脑海中,以至于在去前门吃早饭的路上这个画面还久久浮现在面前,挥之不去。

  在2002年9月28日龙芯1号的发布会上,李国杰所长曾经引用《易经》中的话说:“万物生于有,有生于无”。如果说龙芯1号解决的是从0到1的问题的话,那么龙芯2号要解决的是从1到10的问题,即龙芯2号的性能至少是龙芯1号的10倍以上。事实上这也是我们在申请 中科院知识创新工程重大项目和863计算机软硬件主题重点项目时唐志敏提的指标。在这 两个项目厚厚的申请书和合同书中,我只记住了两个数字,一个是主频500MHz以上,一个 是SPEC CPU2000的值达到300分以上。从承担项目之日起,这两个数字就象两个紧箍咒一 样紧紧地箍在我的头上(我一直认为这个项目是863项目中立得最成功的项目之一,只用 两个数字就把要做的事情表达得足够清楚了)。

  从现在看来,主频500MHz以上还好办一些,下死工夫总是可以做到的,用0.13微米的工艺 更是容易做到。难的是SPEC CPU2000的分值达到300分以上。所谓SPEC CPU2000,就是一 组国际公认的标准测试程序,用这组程序在目标机器上运行,根据实际运行时间算出该计 算机的运行速度指标。这种标准测试程序从SPEC CPU89、SPEC CPU92、SPEC CPU95、到 SPEC CPU2000已经发展了好几期。其中SPEC CPU2000覆盖的应用面最广,包括文件压缩、 FPGA布局布线、编译器、组合优化、国际象棋、文字处理、计算机视觉、编程语言、解释 器、数据库、布局布线模拟器、量子动力学、浅水模型、三维势场求解、偏微分方程、三维图形库、计算流体动力学、图象识别/神经网络、地震波传播模拟、计算化学、数论/素数测试等等,光源代码就有上百万行。打分的标准是把这组程序在Sun公司一台300MHz的四发射Untra Sparc II 上运行的时间做为标准运行时间,其分值为100分,其它机器运行时间跟标准时间相比算出相应的分值。一般来说,现在较流行的四发射的主流RISC处理器象Alpha 21264、MIPS R12000、IBM Power III等在400MHz到500MHz的情况下SPEC CPU2000的分值可以达到300分左右,而Pentium III在800MHz时SPEC CPU2000的浮点分值 才200多分。龙芯2号要达到300分,至少要与1GHz以上的PIII或PIV的性能相当。因此,虽然做500MHz虽然也不容易,但更难的是SPEC CPU2000的分值达到300分以上。

  提高处理器的性能,提高主频和优化软硬件结构不可偏废,光强调主频和光强调结构都是不行的。就象要把100根木头从A地扛到B地,甲每10分钟一个来回,每次扛1根木头;乙每20分钟一个来回,每次扛4根木头;丙60分钟一个来回,每次扛6根木头。我们不能根据甲跑得快(主频高)就说甲的性能最高,也不能根据丙每次扛得最多(每拍执行的指令多)就说丙的性能最高,性能是一个综合的东西。当然,还有其它要考虑的因素,如甲乙丙三人每小时的报酬(处理器的功耗、面积)等。虽然龙芯1号的成功对我们来说是一个巨大的进步,但有一件事我一直深引以为恨,那就是龙芯1号的性能没有达到预想的目标。

  虽然主频不低,但跑起程序来比起类似结构的RISC处理器以及相同主频的PII还有一些差距。SPEC CPU2000的分值也不高。我曾经整日整夜地泡在机房运行各种测试程序,并试图通过软件优化的方法提高性能。虽然取得了一些效果,但不理想。后来的性能分析表明,有些龙芯1号性能瓶颈其实完全是可以通过简单的优化克服的,可惜当时项目推进得太快,没有时间做充分的性能分析和优化。这件事使我极其郁闷,因此把性能分析不够作为龙芯1号设计过程的一个重要教训,并发誓在龙芯2号的设计中要一血前耻。知耻近乎勇,后来龙芯2号步步为营的性能分析果真为龙芯2号提高性能发挥了巨大作用。在中科院领导对我们承担的龙芯2号重大项目进行立项审查的会上,李老师、唐志敏和我在向院党组汇报后准备离开时,江院长追出来跟李老师说:“李院士,我就把宝压在你身上了”。在863计算机软硬件主题专家对我们承担的龙芯2号项目进行立项审查的会上,我做完报告后,专家组组长怀进鹏老师曾声色俱厉地说:“胡伟武,这个项目是863计算机软硬件主题最大的项目,完不成任务提头来见!”这两件事给我很大的触动,让我想起上甘岭战役前夕彭德怀曾对秦基伟说:“我们要对朝鲜的历史负责”。
发表于 2006-10-25 11:55:00 | 显示全部楼层
点评回复

使用道具 举报

发表于 2007-1-11 19:12:00 | 显示全部楼层
无语
点评回复

使用道具 举报

发表于 2007-1-18 22:49:00 | 显示全部楼层
点评回复

使用道具 举报

发表于 2007-5-12 14:39:00 | 显示全部楼层
深圳流传说龙芯二号是用的飞利浦的一个芯片把芯片上面字铣掉后镭调上去的哦~~~~[em13]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-5-6 17:28 , Processed in 0.050760 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表