龙芯杂谈
来源:计算机世界实验室 作者:计算机世界实验室 发布时间:2008-05-07
不久前我们测试了曙光TLFW-100L防火墙,深入了解了龙芯2E硬件平台在作防火墙应用时的效能。这段时间,有关龙芯的一切成为实验室工程师们最乐于讨论的话题。在此,我们摘录了一些想法,与读者们共同分享。
关于处理器
我们很欣赏龙芯的设计思想,它并没有因为制造方面的困难,在设计上做妥协。4发射乱序执行的模式相当不错,不过处理器频率提升相对较难,功耗也会增加。顺序执行的模式虽然可以提升频率降低功耗,但效率欠佳。在常见的无规律应用中,流水线利用率有限,性能自然要打折扣,这方面VIA的处理器就是很好的例子。龙芯保留了乱序执行特性,并且把功耗做得比较低,这一点难能可贵。功耗的限制使得Intel的Atom都采用了顺序执行的设计,龙芯在与它的竞争中,某些方面会很有优势。
Atom的定位是便携式终端产品,龙芯在这个领域也有建树。据报道,近来欧洲某厂商使用龙芯处理器制造了UMPC,采用Linux操作系统,好像还特别受欢迎。但现在的龙芯处理器,似乎还不太适合做移动终端。它的电源管理机制称不上优秀,在功耗控制上缺乏低功耗状态。也就是说,只要处理器加电,基本上所有的晶体管都运行着,所以先前防火墙测试中空载与满载情况下的功耗差异很小。
我们考虑,如果现有设计无法修改的话,可以利用BIOS建立与处理器的联系,通过细化处理器的供电机制,实现频率、功能单元与应用的互动,从而达到最大化的节能效果。这种变通的方式也许不及处理器内部实现效果好,但可以让现有产品也具有功耗控制的特性。
关于网络安全硬件平台
参考中科院计算所公布的龙芯CPU发展规划,龙芯2F处理器将在今年正式推向市场。目前,已有一些厂商发布了采用这款处理器的产品,网上也可以看到更多的开发传闻,其中就包括有成功案例的防火墙。任何防火墙都会有高中低档之分,一个型号肯定无法适应复杂多变的网络环境。所以我们推测,之前测试过的龙芯2E平台防火墙将不会“一个人战斗”,至少,2F平台的引入将是顺理成章的事情。曙光方面为我们证实了这一点,在测试后的总结交流中,他们透露正在与龙芯技术服务中心协同开发基于龙芯2F硬件平台的防火墙产品。
结合目前我们获得的信息来看,未来最先见到的将是一款采用龙芯2F单处理器的解决方案,定位于高端百兆或低端千兆环境。它的设计思路与现有的龙芯2E平台类似,都由处理器负责防火墙所有功能模块的实现,可以算是2E平台的“增强版”。
性能提升将大体来自CPU与系统架构两方面。龙芯2F处理器会有800MHz-1GHz不同频率的型号,较现有2E高出不少,主频的提升将会增强对数据包的处理能力。系统架构的优化也会提高平台运行效率。龙芯2F处理器集成了PCI/PCI-X总线控制器,可以直接与网络控制器交互数据,不必再像2E平台那样通过北桥进行总线转换。再者,PCI-X总线频率与带宽都比2E平台上的33MHz/32bit的PCI提高不少,传输效率明显占优。厂商可以根据产品定位,选择百兆或千兆网络控制器进行搭配,并确定合理的PCI工作频率,在满足性能要求的前提下将能耗指标控制到最优。除此之外,只需额外采用一两颗转换芯片做出IDE与COM接口,就可以实现防火墙的基本功能。
如果以上猜想成为现实,这将会是我们见过的最简练的防火墙硬件设计。没有了传统的南北桥等芯片,厂商进行硬件设计与制造时的难度减小了许多,成本也随之降低。文字理解起来可能不太直观,我们画了示意图供大家参考。对比现有2E平台的设计思路,推测中的2F平台是不是精悍了许多呢?
上面的方案虽然结构紧凑,但也只能满足低端千兆环境的要求。目前,高端防火墙架构发展有两种思路,即利用多核处理器的并行计算技术,或通过FPGA、ASIC等加速芯片进行协同处理。对于前者,龙芯2F可以通过 PCI/PCI-X总线实现多路并行计算,而研发中的龙芯3号处理器本身就是多核结构的并行计算平台;对于后者,只要在总线上接入加速芯片或直接在处理器 I/O接口上集成相应逻辑即可实现。理论上,龙芯架构能够胜任更高端的应用环境。
关于发展方向
找一个属于自己的空间,这是龙芯面临的最大任务。要在通用领域跟Intel竞争,可能性很小。现在用在PC上的通用X86处理器每年销售约3亿颗,Intel占据了80%左右,这还不包含那些使用在其他领域的旧型号处理器。为什么AMD无法竞争过Intel?很大程度上是因为市场空间不够。 AMD没有足够的市场份额,就无法完成产业链的构筑,成为不得已的跟随者。龙芯如果还要硬往里面挤,前景堪忧。并不是说没有机会,是这条路基本上养不活龙芯,它还必须寻找新的道路,一个适合自己的方向。
以龙芯目前的产品形态和定位,可能更适合嵌入式产品开发。工控、通信等领域需要这样的产品:性能不需要太强大,对功耗要求高,还要有足够的忍耐恶劣环境的能力。龙芯是可以胜任这些要求的,经历了一段时间的尝试后,它在这些领域已经取得一定成功。龙芯1号坚持SoC路线,可以按需订制,甚至通过 IP内核授权的方式提供更灵活的服务,有很多成功案例;龙芯2号有面向各类应用的开发版、参考设计面世,在网络通信、高性能计算方面也屡有斩获。
听到过一种说法,说龙芯面临的关键问题是缺乏Intel那么强大的制造能力。这其实只是一个表象,制造只是龙芯遇到的诸多问题之一。如果没有用户消费基于龙芯的产品,就不可能在制造方面有进一步的发展。半导体行业是典型的消费推动生产,必须有非常大的出货量,才能造就完善的产业链。从上游的设计制造到中游的产品生产,再到学习和使用的开发人员和用户,没有这样的链条,任何芯片都不可能实现产业化。
打造龙芯的产业链,也绝不仅仅只是上游推动的事情。处理器的推出并不意味着万事大吉,还要打造高效的编译器,要吸引开发人员针对龙芯平台进行开发,要对未来的开发人员进行培训,甚至还要为终端制造商留出盈利的空间,才能逐渐形成成熟的产业链条。像龙芯这种高技术含量的产品,必须有基础的研发环境、教育环境、人才环境相配合,才能走上良性的发展轨道。
所有这一切,都需要巨大的前期投入。目前我国缺乏成熟的产业资本,导致龙芯产业化没有足够的资金支持。龙芯还处于发展的初级阶段,需要巨大的资金投入,食利性的投资不太可能使龙芯健康成长。要获得市场的认可,还需要国家的大力支持才行。即便是龙芯需要外部的投资介入,国家也应当作为主导力量。