(原载于《中国高新技术产业导报》,2002年第55期,2002.6.4.)
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的信息设备。
附录:网友评论
新闻:倪光南:NC和自主知识产权CPU
(47条评论)
roxbin: 我觉的咱中国不应该再走国外的发展之路,我们应该发展全新的cpu技术,宁可投入大一点,化的时间长一点,也要搞出一个全面赶超世界水平的高端cpu,我们可以投入巨额资金发展分子cpu,量子cpu,并且在全力发展cpu的同时,大力发展操作系统,使之有兼容的软件配套,甚至可以指定相应的世界标准,我相信,只要我们的cpu全面赶超intel,amd,连微软都得跟着我们走.说到巨额资金,,国家投资应该可以做到吧,三峡这么大的工程都搞的起,芯片工程为什么就搞不起呢.说到人才,极端一点,可以去国外大公司挖墙脚吗. (2002.10.07)
OldCamelXP: 中国的计算机及CPU的发展方向总不能是:
人人抱个嵌入式CPU的NC,用某种方式连接到曙光、银河机上去吧。 (2002.09.06)
jxzylg: 至少中国不应该发展32位的cpu了。
(2002.08.31)
jxzylg: 速度是计算机的生命!!倪先生怎么会不知道???
(2002.08.31)
okdns: 我觉得应该开发自己独立结构的CPU,这样在性能上、研发上才有优势,必要时,可以开发虚拟机来运行x86的程序
就像PC上的游戏机模拟器似的 (2002.06.10)
henrycheng: NC这概念还是95年提出来的,当时MS刚出了视窗95,而Sun则刚推出Java,Netscape刚开发出浏览器,为了阻止MS对PC桌面的垄断,Sun、Apple、Netscape和Motorola等联手推出了NC,即Network Computer,无需硬盘,无需操作系统,只需一块低能CPU、一个支持Java的浏览器作OS,任何软件皆是由Java所写、平台无关、即下载即使用,这听上去很完美,但网络带宽的发展最终限制了这一天才创意,被实践检验为失败! (2002.06.09)
marcal: 如果能搞出这种价格低廉,能在运行服务器上的程序的计算机的话,应该是很有市场的。 (2002.06.09)
ahpei: 部队的计算机用什么CPU? (2002.06.09)
yjxp: GOS,谁说中国没CPU,台湾VIA不属于中国也算了,那么美达呢,人家也不是有它的CPU吗? (2002.06.08)
hacking: 别想了计算所都被联想给包了,你们想想有联想中国能腾飞吗?
(2002.06.07)
netcreator: 忠心祝愿我们的祖国繁荣昌盛 (2002.06.07)
MichealHu: 西北工业大学高德远教授在搞这方面的东西…… (2002.06.07)
bluesky_dgd: 自以为是》 (2002.06.07)
wyb_star: 怎么这样讨厌,总出广告. (2002.06.07)
fengdu: 个人几点观点仅供参考:
1、谁说设计高性能CPU,中国没有这样的人才和技术和资金实力?这简直是完全的外行。我本人详细看过台湾VIA公司和之前Cyrix、IDT等公司的运作CPU的情况。现在VIA每年投入C3 CPU的研发经费虽然也有几千万美圆(这个数字高吗?),但在中国如果考虑人力成本的低廉和可以采取如社会地位+股权等方式激励的话,支持一个象开发VIA C3那样的开发团队是不会开支超过1亿人民币/年的,中国的大企业支付这点钱是不会痛苦的!另外说技术,那就是开玩笑了,实际上一个CPU的设计组的核心人员也就那么两三个人,在美国那边其中不乏中国人在参与这些,只要国家敢于用爱国主义感召、用社会地位来吸引、用高额薪水来诱惑、用完善的福利来打消后顾之忧,那显然是容易挖回来有经验的CPU的核心设计人员的。
2、对该文污蔑C3的性能感到非常失望。请问大家写程序用C3-1G还觉得慢吗?C3-1G的性能大约只能相当于赛杨733,的确不快。但是请问以前用赛扬733的,现在用P4的那些人,难道你现在做的工作用以前的赛扬733不能做?
3、如同2,VIA的C3也是在经历了以前被收购的Cyrix、IDT的人员大量流失后才在变动中推出的,其设计不乏新手的参与。这就给我们提示,即使我们起点低一样的可以象VIA那样做好。技术我们可以拿点钱买一些(其实也不贵,VIA收购也才几个亿,其中技术部分估算的也才几千万),然后起家并不比Intel差到哪去。
4、专利问题。这个是最好解决的。本人的意见是,我们不必承认美国专利,我们没有保护所谓垄断的义务。我们国家的法律没有一条写了,美国认可的我们就认可。具体上可以和现在的软件版权一样,国家形式承认专利和实际执行两者分开。大不了,我们自己开发的CPU被美国制裁,不能卖美国市场。
5、下面谈最关键的问题。这个不好明说,涉及到敏感问题,所以只能说隐晦点,大家自己琢磨。为什么我们的计算机工业不能大力发展呢?这和政治和社会制度有很大的联系。再加上最近10多年在发展国家经济中上出现了一些脱离本国实际的“西化”的思想。其实这点我个人觉得没必要担心,只要到时候社会变革后自然就会好了,这点从台湾在蒋氏父子死后,政治改革后,经济(特别是IT经济)腾飞就能看出。不过这个问题实在太敏感,所以就此打住。 (2002.06.07)
mhorse: http://www.cas.ac.cn/shownews.asp?id=200110220055 (2002.06.07)
general_cigarette: 彷徨中,总需要有人呐喊。。。。。。 (2002.06.07)
roson: 楼上的没礼貌,而且自以为是! (2002.06.07)
Oak_csdn: to netxiao :这个猪猡,有没有常识?
你以为cpu是设计出来就能生产吗?
再回去多看几年书吧! (2002.06.07)
zljzyj: to netxiao :败类。你说的感觉好像不错,像Linux,但你他妈做核心呀。混蛋!靠!快回家玩你**去,对长辈起码的一点尊敬都没人。扎车轮底下死了算了。 (2002.06.07)
smartcar: 只要做
只有做
否则都是废话 (2002.06.07)
liangxf0022: 嵌入式CPU中国有一定的基础,但跟T1这些公司比起来还有相当大的差距。
SOC中国造?太不现实了吧?很多技术中国还没有掌握。方舟其实仅仅是一个CPU,他如果没有庞大的外部电路是不能起作用的,他离SOC太远。
(2002.06.07)
kyee: 说得有道理,毕竟是过来人,在硬件方面的造诣也深。
作为一个中国人都应该为中国将来的倔起出一分力,“国家兴亡,匹夫有责”,中国的强大任重而道远,先打基础,一步一步来,少走弯路,还需要老一辈人的支持。
(2002.06.07)
charmsea: 对,老倪你什么时候招人,请告诉我! (2002.06.07)
liujiangshan163: 令人沮丧 (2002.06.07)
Bill1212: 倪老认为中国应以嵌入式CPU为起点并没有错。作任何事情都应该从简单到复杂。总比现在什么都不做要强。 (2002.06.07)
netxiao: 得了,老不死的快死吧,我们为什么不做一个开放设计的cpu呢,用全世界的聪明人集中起来设计cpu呢?
(2002.06.07)
dnyz: 我们参加电子竞赛时都是进口的芯片,什么时候才能用上自己的呢? (2002.06.07)
elingson: 值得参考 但是如果有些事情是需要冒险的 不然中国现在两弹一星什么都没有了 (2002.06.07)
zcf73: 如果能1000RMB能解决一个终端 我可以考虑在上面开发应用 在营业系统中还是有市场的 (2002.06.07)
softworm: The govenment must support the development.
(2002.06.07)
deMe: 還是要開發國產CPU,為何要兼容Intel,如果有國產CPU,那就會有國產OS,國人會支持,我就會選用。 (2002.06.07)
Tod: 像他这样的老朽,早就该下去了。按他的理论,什么都不做是最好的,那就什么心都不用费了,不是吗?
一看就是扯淡的理论,当初中国发展航天技术、核技术等的时候要像他这样那中国现在会是什么样子?
还用得着说么? (2002.06.07)
newskysoft: 倪老先生的前瞻性太差,到了这个时候还在推NC,赶紧退休吧 (2002.06.07)
samsult: 坚决拥护性价比的原则 (2002.06.07)
zxonline: 关键是没有优秀的企业 (2002.06.06)
personalzhang: 我要国产的CPU!!
(2002.06.06)
personalzhang: 我要国产的CPU
(2002.06.06)
bearbaba: 听说上海还只能封装P4的CPU (2002.06.06)
buxoman: BlueTrees的话很中肯。也很正确。
倪老先生似乎在推销它的NC,而且放弃了对高性能CPU的希望,而且思路似乎不够开阔。 (2002.06.06)
wdydt163: 全是废话!有本事老倪你给咱中国人民弄几台出来?没事就别在这儿说废话! (2002.06.06)
mhorse: 倪大爷主要从经济及技术可行性阐明中国应首先发展嵌入式CPU的说法当然没有错,从我国目前的情况来看,越来越多的大型的高科技民营企业开始重视开发自主的核心的知识产权,开发嵌入式CPU所需要的人才、资金、技术民营企业都有能力获取,同时投入产出的时间不会很长,民营企业也能够承担 ,也乐意承担,所以发展嵌入式CPU的重任自然落到民营企业的肩膀上;另一方面,从国家安全的角度出发,我们还必须发展自己的高性能CPU。例如我们的大型机仍然使用的是国外的CPU制成的CPU并行运算阵列,美国一直限制向中国出口高性能的计算机及其核心部件,从而造成了我们的高速并行运算能力受制它人。ALPHA等一些RISC CPU用于一些高性能的服务器的事例告述我们没有必要跟着X86这些指令系统走,我们应该走自己的体系结构,只要运算速度,流水线,高速缓冲,可靠性跟的上就是好的CPU.研制国产的高性能CPU投入大,周期长,技术起点高,做出来后还需要系统软件的支持,所以这是一个系统工程,只能由国家资金,技术的大力支持才有可能,中科院计算所凭借“龙芯”的经验应该继续为实现这一目标努力。 (2002.06.06)
yanba: 看你说的混话~~~! (2002.06.06)
hoowa: 中国的企业是不会象Open Source开放的!
中国的企业没有奉贤精神,他们只知道利益 (2002.06.06)
BlueTrees: 理论上可以而已,实际上,这样做不是可行的,原因有以下几点:
1、偏离了发展我国自主产权CPU的根本目的,发展我国自主产权CPU的根本目的,在于维护我国的信息安全,在很多的领域,嵌入式CPU是完成不了这个目的的,如果嵌入式CPU的复杂程度高到了能够适应各种领域,特别是军事方面的应用要求,这恐怕不是嵌入式。如果仅仅是为了赚钱,那就别搞了,世界工厂绝对可以低成本的提供我们需要的产品,我们再发展这样的技术,实际上是没有意义的。
2、网络实际的工作能力远远没有达到适应全民瘦客户机要求的地步,这个过程实际上还需要很长的时间,甚至是不现实的。假定我们IDE接口的通讯带宽为33MB/S,那么要达到这个标准,实际上这个标准是难以忍受的,呵呵,有10000台瘦客户机通过同一条通讯通道连接,那么峰值带宽要多少?是达到G级别的,这是骨干网的带宽了,而且还仅仅是10000台,实际数量会还要大。再考虑服务器的带宽,100各客户/服务器,服务器的带宽要多少?3G!从以上分析可以看出,完全免除本地非易失存储器是不现实的,本地需要缓存,这种缓存必须存放在硬盘这样的存储器上面。所以上文描述的所谓的低成本无硬盘的计算机是不现实的,当然在小规模的局域网中是可行的。
3、对于专业性很强的应用领域,嵌入式是恰当的,比如仅仅是一个上网工具,这个工具还很受限制。在专业性不是很强的领域,比如家庭使用的PC,潜入式并不合适。一个家庭很可能会有很多的小工具,但是,一个家庭购买PC的根本原因在于教育和通用性,很多家庭并不愿意选择多个分离功能的工具,而宁可选择一个整合了很多功能的工具,即使这种整合的效率不是很高,但是,选择这样整合工具的目标是明确而且正确的,就是可以降低总拥有成本。如果,其他的技术发展再跟进快一点,比如投影仪,指纹确认等等设备的价格降低到普通消费者可以接受的程度,那么很显然,家用PC的地位就变得更加突出。实际上很多的应用,按照现在的技术已经可以低成本的实现,比如房屋入侵报警,可以让PC通过互联网向公安局报警,只是涉及的面太广,实现起来官僚成本太高,技术成本已经很低了。
4、撇开个人用户,企业用户其实是主力军,没有哪个行业不需要信息技术的介入的。在大多数的行业,需要的是高性能的通用计算机,比如广告、政府部门、建筑设计等等。
以上是本人的一些反对意见,以下是我认为的开发通用的自主产权CPU的可行性
1、CPU的设计和制造可以是分离的,我们可以在设计上下功夫,把具体的生产转移到台湾、韩国等已经拥有制造大规模集成电路能力的地区,如果台湾收回了,这就更方便了。这样我们不需要建立昂贵的生产线,只需要拥有小规模制造能力的实验室就可以。
2、CPU的设计并不是天书,中国人的智商不会这么低,实际上,可以设计简单指令集(RISC)的CPU来降低CPU的设计难度,实际上,很多国外大学的实验室,没事情做,就制造这些玩意在玩。
3、制造复杂程度低的CPU不意味着功能的减弱,只是把硬件实现转移到软件实现,用这样的CPU的计算机,不会比Wintel的差。
4、软件的开发能力,我们国家并不弱,需要加强的整合软件开发能力。我们在很多年以前就能够设计操作系统,这些人还没有死掉或者跑到国外去吧!就算跑到国外去了,在找回来,不是没有可能吧!
(2002.06.06)
wishare: 倪光南是搞技术的料。 (2002.06.06)
tsbob: 如果能充分利用开放源码软件这个宝库,就可以大大加速支持新结构CPU的软件开发过程。
opens source就意味着免费?????只有中国人才这样想吧
人要是脸都不要了,还怕什么
(2002.06.06)