解读龙芯
硬件周刊
当9月28日,中科院宣布我国第一款商品化的通用高性能CPU芯片──拥有自主知识产权的龙芯一号CPU流片成功时,对于一直关注中国CPU的计算机爱好者而言,这与成功申办北京2008年奥运会具有同样重要的意义。一时间,龙芯成为了焦点。
深入认识龙芯一号
龙芯一号32位微处理器(英文Godson,以下简称龙芯,(图1)为基于龙芯的主板)采用0.18微米CMOS工艺实现,主频可以达到200MHz~266MHz,整数运算为32位,浮点运算为64位,指令系统为32位MIPS指令,一级缓存中,数据缓存为8KB,指令缓存为8KB,核心电压为1.8V,I/O电压为3.3V,功耗为0.5W~1W,总线频率达到75MHz~133MHz,封装方式为PQFP/CQFP(编注:PQFP,即Plastic Quad Flat Package,塑料方形扁平式封装,PQFP封装的芯片的四周均有引脚,其引脚数一般都在100以上,而且引脚之间距离很小,管脚也很细,一般大规模或超大规模集成电路采用这种封装形式;CQFP,即Ceramic Quad Flat Package,四面引出扁平封装管壳,是表面贴装管壳,形状可以是正方形或长方形)。芯片核心面积约15平方毫米,包含了近400万晶体管。同时在芯片产品测试中,加工芯片的正品率超过了80%,工作温度范围在-35℃~70℃。

在支持的操作系统方面,龙芯除了支持Linux以外,还支持VxWorks实时操作系统,能够直接支持软解压的流媒体应用,可以用于网络终端机(NC,(图2))、工业控制计算机、嵌入式设备以及专用服务器(图3)。


而龙芯能够获得成功的背后,除了中科院的技术路线以外,编译技术的突破有重要作用。
早在今年4月份,中科院计算所和英特尔公司就共同研究开发新一代高级软件编译器签署了合作协议,而这个高级编译器就是我们所熟知的IA-64编译器。此前计算所编译组和英特尔公司MRL实验室合作的另一个项目──Aurora编译器(为英特尔的新一代64位处理器定制的先进优化编译器)也在短短的一年时间里通过了CPUInt2000的规范测试,并且获得了三项美国专利。所以编译器将在龙芯这个项目中,甚至中国计算机产业自主化历程中都占据了一个重要的地位。
真正的竞争在64位
我们知道:计算机的处理器分为两大类,一类芯片如Intel x86和Motorola的680x0等,属于所谓复杂指令系统计算(CISC)结构。每条指令执行的周期数(CPI)在1~20之间。而另一类是精简指令系统计算(RISC)结构,如PA-RISC、Sparc、MIPS和PowerPC等,其CPI在1~2之间。
CISC体系的主要特征是使用微代码。指令集可以直接在微代码内存(比主内存的速度快很多)里执行。由于CISC体系可以减少编程所需要的代码行数,减轻程序员的负担,它甚至具有与高级语言对应的指令集。所以在低端市场上,CISC体系的微处理器成为统领。而RISC体系的开发思路起源于John Cocke的著名的“8020结论”,即约20%的计算机指令完成约80%的工作。由于采用多级指令流水线结构,这种技术可使每一时刻都有多条指令并行,以减小每条指令执行所用机器周期数,在编译时不是按原程序的代码顺序安排机器指令的顺序,而是按照指令执行速度的快慢以及CPU的流水线深度等合理调整机器代码的顺序,从而可使CPU的多级流水线最大限度地并行执行,所以在高端市场独领风骚。正是看到两者各有所长,在新一代的64位处理器中,英特尔便融合了这两大体系。在IA-64处理器架构中,不仅保留了以前所采用的RISC技术,而且进一步将它发扬光大,形成了EPIC(清晰并行指令计算)体系。
未来几年,计算机微处理器竞争必然是在64位运算,其实早在1992年,DEC公司(现已成为Compaq公司的一部分)开发了Alpha-21064处理器时,就已经拉开了处理器从32位向64位进军的序幕,但这是一场更漫长,对手更多更强的竞争。Compaq公司正在开发新一代的处理器EV7和EV8属于Alpha处理器,AMD目前在新版的64位Opteron及Althon处理器上计划采用MIPS 64位架构来开发,HP公司64位超标量PA-RISC处理器PA-8700系列正在研发阶段,Motorola的PowerPC-G4 Plus处理器,Sun公司64位UltraSparc处理器,当然还有英特尔的Itanium 2处理器。这里绝大多数是RISC架构处理器。由于RISC处理器对编译器的要求一般比较高,要求编译器在编译时必须充分考虑机器代码在CPU中的执行状态。可喜的是,我们前面讲到,中科院计算所编译组在编译技术上有了不少新的突破,这也将在MIPS微处理器的设计中起到重要的作用。
龙芯未来之路
龙芯不是冲着谁来的,也不是为了和奔腾Ⅱ比试,两者的架构完全不一样。应该说,它是中国计算机产业自主化进程的必然产物。我们应该对1999年的奔腾Ⅲ序列号事件还有所记忆吧,虽然英特尔的解释说奔腾Ⅲ序列号仅仅是一个号码而已,但计算机/服务器的核心部件的安全性已经成为各国政府非常关注的问题,所以研制拥有自主知识产权的微处理器势在必行。微处理器的架构系统是一个复杂的工程,涉及到很多方面的技术,不可能完全依靠自己设计。国外很多芯片设计和制造厂商都不会花费过多的精力在架构上,而是在自己的微处理器编译技术方面做足功夫。同样,我们在编译技术上也有一定的优势,加上越来越多的芯片工厂落户,在制造工艺上也能迈向国际先进水平。
在计算技术研究所的一份“高性能CPU芯片设计”的科研项目中,我们能看到龙芯的三步战略,即未来的应用方向。第一步利用已经开发成功的龙芯一号通用CPU芯片,开发网络终端机(NC)、安全专用服务器、网络监控相机、网络安全隔离卡等产品,在市场上取得成功的应用案例,这一步已经完成。第二步将龙芯1号CPU芯片经过适当剪裁,加上存储控制和网络控制功能,形成龙芯SOC芯片(单芯片系统),进一步降低设备成本,逐步实现年产百万片的规模。第三步采用第二代龙芯通用CPU芯片研制安全服务器,应用于电子政务及其他系统,进而带动未来国产安全服务器的推广使用。