CPU的主要类型
近来,在我国,发展有自主知识产权的CPU已成为人们注目的焦点,为了讨论的方便,我们从应用的角度把CPU分为主要的三类,即“x86 CPU”、“嵌入式CPU”和“其他高性能CPU”。x86 CPU是指PC用的CPU即x86体系结构的CPU,主要是Intel公司的CPU,也包括AMD和威盛等公司与其兼容的CPU。嵌入式CPU是指应用于各种信息设备里的CPU,一般功能不太强、主要是以低价格、低功耗为特征,著名的有ARM、MIPS等公司的CPU。其他高性能CPU是指应用于服务器和超级计算机中的高性能CPU,例如Alpha、UltraSparc、PowerPC等等。有些文章上说到“通用CPU”,从其叙述内容来看,一般是指x86 CPU。上述的分类或所谓“通用”或“专用”的分类都是不大严格的,例如ARM公司的CPU是“嵌入式CPU”,但它也非常通用;x86 CPU是“通用CPU”,但它也可以用在嵌入式设备上,而且现在x86 CPU的性能很高,在服务器上也有广泛的应用,所以这些分类都是相对的,只是在一定程度上反映这些CPU的特性。
开发x86 CPU的困难
虽然PC非常重要,许多人希望能开发出有自主知识产权的x86 CPU,但目前要求我国公司这样做是不合适的,主要有以下一些困难:
1.现在x86 CPU已经发展到很高的水平,如奔腾4的晶体管数超过四千万,生产上也需采用最先进的0.13微米工艺,只有Intel等少数公司有这样的设计和生产能力。这样水平的CPU在设计难度、对设计工具和设计经验的要求,以及对半导体生产工艺的要求等等方面都远超过我国目前的技术水平。
2. 要兼容x86 CPU存在着知识产权壁垒,因为这里牵涉到Intel的某些专利,为此,其他想生产x86兼容CPU的厂商都需要向Intel交巨额权利金,想绕过Intel的专利是非常困难的。美国有家Transmeta公司推出和x86兼容的“Crusoe”CPU是采用另外的技术途径,它采用超长指令字技术(VLIW),通过硬件和软件相结合的方法来模仿Intel结构的CPU。它用软件把x86的指令翻译成为它的 CPU指令,一旦这些指令被翻译了,就将存储在内存或高速缓存中,以便高速执行。这样做使它可以绕过Intel的两个重要专利,即处理进程时采用硬件进行边界和范围检查的专利。Transmeta的做法说明,如果没有特别的手段,将无法绕过Intel的专利,这是做x86兼容CPU的一个难题。“Crusoe”CPU目前在笔记本计算机方面有一定的市场,但究竟它能取得多大成功仍是一个问题。
3.尽管微软和英特尔公司在某些方面存在矛盾,但它们在维护Wintel架构的PC方面是一致的。当年英特尔CPU能够战胜Motorola的CPU,微软在OS方面对英特尔CPU的支持起了关键作用。后来,英特尔在CPU方面进行发展,微软也在OS方面加以支持,可以说,没有微软在OS方面的支持就没有x86 CPU。但我们当然不能指望微软来支持我们开发x86 CPU。虽说只要兼容x86 CPU似乎就可以不用考虑软件了,但实际上这是把软件的控制权交给了微软,微软不向你开放,OS是一个黑盒子,那么开发自主CPU的意义也就丧失殆尽了。
4. 全世界x86 CPU的市场基本上被Intel和AMD两家所占有,其他公司很难进入这个市场。几年前,台湾威盛公司买下了开发x86 CPU的Cyrix公司,在这个基础上,它推出了和x86兼容的C3 CPU,但目前这一CPU只能在终端等低档计算设备方面得到很有限的应用,进不了主流PC市场。
发展嵌入式CPU的有利条件
目前对中国公司来说,切实可行的做法是为各种信息设备(IA),如手机、掌上电脑、信息家电、网络计算机等等,开发嵌入式的CPU,它不必有很高的性能,也不必和x86结构兼容,这样做的有利条件如下:
1. 信息设备种类众多,每类中的各种新产品也层出不穷,与高度标准化的PC只有Wintel一种结构完全不同,信息设备产品的这种特点使大公司很难垄断,我们容易找到自己的发展空间。
2. 芯片设计技术、EDA工具已有很大发展,可将一个完整的系统集成在一个芯片上,称为单芯片系统,即SOC(System On a Chip)。这一技术使开发速度大大加快,我们直接掌握SOC技术就可以实现跨越式发展,不必走外国公司已走过的老路。
3. 与嵌入式CPU配套的软件,从嵌入式OS(包括Linux和其他自主OS)到在它上面运行的应用程序,不像PC的软件那样受到微软垄断的影响,完全可以由我国公司自主开发。
4.嵌入式CPU对半导体生产工艺的要求较低,多数不必采用最先进、昂贵的半导体工艺,能充分发挥我国现有的半导体生产能力。大家知道,一个IC芯片的面积大小可能由电路的复杂性决定(称Core Limited);也可能由封装的引线数目决定(称Pad Limited)。如果电路很复杂而引线较少,那么芯片面积往往由复杂性决定;反之,如果电路不太复杂而引线很多,芯片面积往往由引线数决定。在后一种情况下,芯片上将留有很多空白,成为浪费,这时提高工艺水平不但不能降低价格,反而会增加价格。这样看来,对于复杂性相对较低的嵌入式CPU,在芯片面积由引线数决定时,用较低的工艺生产反而比用较高的工艺生产更为经济,因此发展嵌入式CPU符合我国半导体生产水平的现状。
5. 我国有信息设备的巨大市场和强大的IT制造业,一旦开发出嵌入式CPU和它的配套软件,可以迅速实现产业化。由于信息设备所用的CPU总量将远超过PC所用的CPU,将会取得很好的经济效益和社会效益。因为掌握了信息设备的核心技术(嵌入式CPU和OS等软件),就可以有较高的技术附加值,这些设备的出口也将有很好的前景。
发展嵌入式CPU的技术途径
在CPU的体系结构方面,嵌入式CPU一般为非x86结构,而发展非x86结构CPU也有两种方案。1.自己定义新的体系结构,这是免除知识产权纠纷的一劳永逸的办法,但为此需要开发支持这个新体系结构的编译系统、调试工具、OS和应用软件等等,软件的工作量相当大。在过去这是很难实现的,但现在有了开放源码软件,可以得到Linux(或其他自主OS)的支持,这个途径就成为可行的了。对一个开发新结构CPU的公司来说,它不仅要提供CPU而且也要同时提供它的编译系统和调试工具,以便使第三方软件厂商(ISV)可以将Linux(或其他自主OS)及其应用软件移植到这个CPU上来。如果编译系统、调试工具比较成熟,ISV又有较多的经验,那么这种移植工作就比从零开始、重新开发软件要快得多。如果能充分利用开放源码软件这个宝库,就可以大大加速支持新结构CPU的软件开发过程。
2.和其他的非x86结构CPU兼容,比如和ARM、MIPS等嵌入式CPU中的某个CPU兼容。这样做的优点是可以用这种CPU的现存软件,可是也存在着缺点,即可能引起知识产权纠纷。国外曾有这样的例子,即ARM公司告倒了某个开发兼容ARM CPU的公司。因此上述这两种途径各有利弊,企业应根据自己的具体条件作出选择。
NC是发展嵌入式CPU的切入点
嵌入式CPU有很多应用领域,对CPU的要求也有很大的差别,为了容易取得成功,可以首先开发技术要求相对较低、市场推广相对较易的嵌入式CPU。比如手机的CPU需要低功耗,相对说来比较难做,而用于网络计算机(NC)中的CPU既不需要很高的性能,又不需要很低的功耗,相对说来就比较容易做,而且NC的推广也比较容易。
我们这里所说的NC其实就是一种“瘦客户机”,即一台没有本地存储设备(硬盘、光盘、软盘等)、没有或只有很少扩展口的桌面计算机,与早期的NC有很大的不同,现在的NC可以支持多种工作模式,它可以运行浏览器,支持 B/S模式,适应Web服务的潮流;它可以作为Windows的终端(WBT),使用服务器上运行的Windows应用程序;它可以作为一个X终端,使用Linux或Unix服务器上的应用程序;当然,它也可以在本地模式下,通过从服务器上加载,运行Linux应用程序。
NC的OS可以用Linux(或其他自主OS)。NC所需的Linux严格说不是嵌入式OS,而是一个桌面OS,这正是目前Linux的薄弱环节。在服务器领域Linux已经成熟,嵌入式Linux也很兴旺,只有在桌面领域Linux还没有取得突破,不过现在它也已慢慢地趋于成熟。最近桌面Linux的改进,一是易用性,有些桌面Linux初看起来已经很像Windows,对于各种设备的支持也大大增强了。二是关键应用,对于NC来说,关键应用主要是两个,一是浏览器(包括Email),二是Office,因为它主要应用在企业、政府机关、学校等集团用户,不像家庭用户需要用许多应用软件。
事实上,在网络计算环境中,很多PC都被作为“瘦客户机”来使用,为了信息安全,免得有黑客、病毒入侵,或者数据被人取走,很多单位把PC的光盘、硬盘、软盘都拆掉了。实际上是网络带宽限制了PC的性能,在这种环境之下,NC和PC基本上是等价的。特别是在中国,出于安全、管理和性能价格比的考虑,NC在很多情况下是合适的。而且从总拥有成本考虑,NC的优点更多,因为NC的维护、升级等耗费大大减少。同时,NC没有硬盘、软盘、光盘、风扇等运转部件,很安静,不易坏,像一般家用电器一样,使用十分方便。客观地说,NC和PC各有千秋,NC当然也有弱点。如果没有宽带网,肯定用不了NC,所以这两者将会同时并存。如果分析市场情况,有些地方用NC比较好,有些地方用PC比较好,大体来讲,有一半左右的场合都有可能用NC代替PC。
看来NC和桌面Linux都有可能在中国取得成功,因为中国的电子政务、企业信息化、校校通等等应用,都可以采用基于NC的解决方案,中国信息化将带动NC和相应软件的发展,这对发展有自主知识产权的嵌入式CPU和其配套软件来说是一个很好的机遇。目前在市场上已经出现批量生产的、采用自主知识产权的方舟CPU(32位嵌入式CPU、自主体系结构、266MHz主频)和Linux构成的NC,这是中国自主知识产权的嵌入式CPU实用化的开端,今后将会出现更多的装备自主知识产权CPU的信息设备。