Smile 笑容

国内首款64位通用CPU龙芯2号于4月18日问世

  中国能够自主研发CPU是许多网友梦寐以求的事情,今天许多网友的这个愿望终于实现了,由中国科学院计算机技术研究所研发的“龙芯2号”CPU今天正式在人民大会堂发布,并且根据SPEC CPU2000的测试,龙芯二号的性能已经达到英特尔Pentium III的水平。是之前的龙芯1号的10倍。

龙芯2号

  “龙芯二号的性能相当于英特尔P3,全面超过威盛。”龙芯二号采用0.18微米的工艺,实现主频500MHz。根据中科院计算所的测试,龙芯二号的样机能够运行完整的64位中文Linux操作系统,全功能的Mozilla浏览器、多媒体播放器和OpenOffice办公套件,具备了桌面PC的基本功能。

  龙芯2号是国内首款64位高性能通用CPU芯片,支持64位Linux操作系统和X-window视窗系统,龙芯2号的主要应用目标是Linux桌面网络终端,低端服务器,网络防火墙,路由交换机,多媒体网络终端机器,无盘工作站等。龙芯二号是我国自主研制的可用于桌面和笔记本电脑的通用处理器。

  龙芯3代将采用多核结构 可能会有4个内核

  龙芯的主要研发人员胡为武博士在介绍龙芯2时说“龙芯2接下来将会提高主频到2G,那个时候龙芯2的速度就会和P4相当,而未来的龙芯3将采用多核的结构。性能会飞速的提升。

  龙芯2是一款真正由中国人自己做出来的高性能CPU,但他不兼容WINTEL体系,不能够运行WINXP下的大部分程序。大家会买吗?

以下内容摘自龙芯2号研发内幕

狗剩2号的RTL设计大致可以分为三个阶段。

  第一阶段为设计阶段。2002年12月初开始大家花了约半个月的时间了解狗剩2号的结构,同时我开始进行顶层模块的设计,主要是每个模块的互连关系、接口总线及触发器的定义。12月28日完成顶层模块的设计并启动各模块RTL的编写。由于有Cycle-by-Cycle的C模拟器作为参照,2003年1月14日就完成所有模块RTL的编写并编译通过,1月21日成功运行第一条指令。在此基础上,经过三天三夜的努力,到1月25日成功运行狗剩1号中使用的包括所有MIPS指令的一段功能测试程序。由于2002年春节没有放假,因此1月25日后全组放假。

  第二阶段为联调阶段。春节后开始在RTL仿真环境上运行LINUX操作系统。经过连续一个多星期的努力,2月18日成功运行LINUX操作系统。在狗剩1号的联调过程中,在运行LINUX后,整个流水线的设计就基本上没有发现什么问题,只发现了部分与浮点有关的问题。但在狗剩2号中,运行LINUX后试图运行whetdstone时碰到了巨大的困难,甚至一度出现停滞不前的情况。因为错误出现在调用动态库的过程中,而且没有动态库的源代码无法调试。不得已我组织RTL编写人员于3月7日和8日进行了两天的封闭式自查。通过自查发现了大大小小20多个错误,使运行whetdstone的联调取得突破性的进展。后来我们又进行了两次封闭自查,只发现一、二处小错误。

  第三个阶段为调整和优化阶段,这个阶段是狗剩2号逻辑设计的关键阶段。与联调阶段相比,优化阶段发现的bug较少,但根据对RTL进行综合以及用C模拟器进行性能分析的结果对整个设计的延迟、面积、性能进行了持续的优化。通过初步的优化,狗剩2号的延迟降低了一倍多,面积降低了30%以上,相同频率的性能提高了30%以上。在这个阶段的每一周都充满了激动人心的改进,深刻体会到精益求精的道理。孔子说“食不厌精”,处理器设计更是如此。用1%的工夫可以完成一个正确的设计,但需要用99%的工夫来优化它。

在狗剩2的RTL优化过程中,我们总结了三条经验。

第一条是精益求精的经验。做一个正确的设计和做一个精品的设计是有很大区别的。为了做到精益求精,思想上要永不满足,执着改进。碰到复杂的问题,不能满足于用复杂的方法来解决,要努力把问题简单化再用简单的方法来解决。

第二条经验是在执着于细节的理解和把握的同时退后一步进行的全局的观察和思考是十分必要的。在狗剩2号的优化中有很多都是在项目的推进过程中退后一步进行文档整理、看文章、或封闭自查时得到的启示。对设计的微观了解和宏观把握是不可偏废的。如果对设计的细节不做一定的了解,则在整理文档或看文章过程都比较虚,不会有灵感出现;反之,如果过于执着于细节,则可能只见树木,不见森林,忽略了一些大的改进。

第三条经验是以事实为依据的经验。对设计进行持续的性能分析、物理综合、以及仿真验证为狗剩2号的改进和改正提供了大量了事实依据。在根据事实进行设计和改进时,一定要在大量的事实和数据的基础上(小量的、不具有代表性的不行)对事实进行深入的分析,弄清楚隐藏在这些事实后面的、本质的东西,这样做的设计和改进才是最优的。

胡伟武

内容摘自 龙芯2研发负责人:胡伟武博士 的文章

相关连接

关键字:国产龙心二号 64位 CPU

龙心 龙芯 龙芯2号 龙芯2E 龙芯3号