终于看到中国CPU的希望了

就在两个月前,国内消费电子厂商宣布,以99美元的价格开始销售Android 4.0平板电脑Novo7时。听到这条消息三星、苹果、东芝、华硕等平板拿电脑厂商都是倒抽一口凉气(如果让他们知道Novo7在国内买更是只要500块人民币时,不知他们会做何感想)——这个价格只有这些国际一线品牌同类产品的1/6。艾诺能够做到这个价格,要归功于它是一个彻彻底底的Made in China产品。不仅外壳,电路和屏幕是国产的,就连CPU也脱离了ARM的IP核,用上了国内自主的君正JZ4770。所以即使相比国内其他使用ARM内核的平板产品,由于不用给ARM支付高昂的CPU提成费用,Novo7依然有着100元左右的价格优势。这种完全Made in China 的产品向世人证明:中国人什么都能做,而且能做得很好,很便宜。

我也跟风入手了一台艾诺NOVO7,可以很负责任的说,它让我看到了国产CPU的曙光——国人的CPU终于从一个娇生惯养的小娃娃成长成了一个能够真枪实弹地在市场上打拼的男子汉。

由于设计工具的日渐成熟,现在要设计一款CPU并不是特别复杂。相比之下,编写编译器,营造软硬件集成环境却是一件非常艰难的事情,而这些东西的价值都体现在CPU的一个在传统意义上很不起眼的属性中,那就是指令集。指令集相当于CPU的语言,人们用高级语言编写出的代码必须经过编译器编译成对应CPU的语言,才能够在CPU上执行。设计指令集就像发明一门语言一样,只要有了完整的词汇和语法约定,这个过程并不会太复杂,但指令集的推广就比较难了。软件公司不会有精力把自己写的软件编译出各个指令集的版本,往往只会挑选几个大家都比较认可的指令集编译。目前使用最多的指令集是x86和ARM,前者是大家电脑的CPU所使用的指令集,而后者则是大部分手机CPU所使用的指令集。由于ARM的指令集是RISC结构,其结构相对简单,容易实现四发射,所以在性价比和性耗比上往往比x86的CISC架构更高,但是由于微软目前的Windows系统仅对x86指令集编译,所以CISC类的x86指令集虽然效能低下,但是依然是软件支持最丰富的指令集。(不过随着主流的操作系统,包括Windows 8开始支持ARM指令集,x86估计不久后也将推出历史舞台)。当然,还有一些比较小众的,但性能却十分优秀的指令集,比如MIPS,PowerPC,Sparc等(都是RISC类的,可见CISC被淘汰是迟早的事),其中PowerPC指令集曾经因为苹果Macintosh操作系统的支持,而风光过一阵子,但随着后来Macintosh开始使用 x86指令集,PowerPC指令集也逐渐淡出了消费市场。

由此可见,推广一款指令集是非常艰难的,如果没有足够的影响力和强劲的编译器去说服软件公司使用自己的指令集,CPU即使制造出来也是废硅片一块。北大众志就是这样一个教训,他们从指令集开始就自己操办,试图构建一个完全自主的行业环境,但是这种"后期之秀"的CPU如果在价格、功耗或者性能上都没有明显的优势的话,很难说服软件厂商用自己的指令集去开发相关的产品的。

在这种指令集绑架产业链的环境下,很多拥有指令集知识产权的公司由于产能跟不上市场需求,而制约了其进一步发展。毕竟全世界只有Intel才拥有若干家先进的芯片生产厂,能够提供生产出足够的芯片。为了能和Intel这种All-in-one的公司PK,半导体业界衍生出了Fabless,Chipless等模式。Fab是芯片制造厂得缩写,Fabless则表示一家公司只设计芯片,但生产外包。著名的nVidia,ST,国内的中星微,Rockchip,全志等都是Fabless的,而x86的老二AMD也在前些年变卖了自己所有的芯片生产厂,从All-in-one模式转型为Fabless模式(既然有Fabless,就肯定有Fab,这些Fab只负责制造芯片,不负责设计芯片。台湾有很多这样的厂)。而所谓Chipless的公司则大多是那些拥有指令集知识产权的公司,他们只负责设计芯片的核心部分(称为IP核,用硬件描述语言描述或用晶体管电路图描述,用硬件描述语言描述的核心成为软核,用晶体管电路图描述的称谓硬核,软核比较方便配置,硬核的性能优化比较完善),然后把这部分核心卖给Fabless厂商,Fabless厂商再加上一些外围电路和外设设计成完整的芯片,送到Fab去生产。不过这种依赖于第三方提供IP核的Fabless厂家虽然开发难度较低,但也在很大程度上受制于Chipless的厂家,因为其产品的主要性能都取决于IP核的优劣,不同公司使用相同IP核的CPU同质化严重,而且IP核的授权成本往往还占到CPU成本的将近一半。目前最流行的IP核当属ARM系列,此外MIPS,Sparc也有IP核在卖。国内用第三方IP核生产CPU的企业有一大把,比较杰出的应该就是Rockchip,珠海炬力,全志等,但是这种CPU的主要单元依然依赖国外第三方厂商,在技术和市场上都受到上游厂商的限制,不能算严格意义上的自主产品。

自己从头开始写指令集的道路行不通,直接购买第三方IP核的道路也行不通,所以,不管是龙芯还是君正,他们都选择了一条曲线救国的道路——只购买指令集授权,而由自己设计芯片。君正购买了MIPS32指令集的使用权,而财大气粗的龙芯则购买MIPS32和MIPS64指令集的使用权(真不知道为什么中国人对MIPS这么厚爱有加,完全无视ARM,PowerPC和Sparc的存在……),也就是说,君正和龙芯在买下MIPS授权后可以开发兼容MIPS指令集的CPU产品,这些CPU可以运行为MIPS CPU(包括使用MIPS IP核的CPU)编译的软件,但又不用每颗CPU都向MIPS支付授权费用。

事实证明,拥有指令集知识产权的公司也非常愿意接受这种直接授权指令集的运营方式。虽然这可能会给自己带来潜在的竞争对手,但是使用自己指令集的产品的增加无疑也会使得该指令集对软件开发者更加有吸引力。虽然这种买指令集授权的方式比较小众,但的确不只有中国人在买指令集授权,也不只有MIPS在卖指令集授权。两年前nVidia就购买了ARM的指令集授权,自己开发高性能的ARM指令集CPU(nVidia称之为Project Denver)。所以,这种“曲线救国”的切入方式也是一种被普遍采用的,低风险进入CPU市场的方法。君正使用这种方法进入CPU市场即保证了高度的自主权,又降低了市场培育的成本和风险。

但君正的刘强比龙芯的胡伟武要更理解市场。他没有像龙芯一样去挖掘PC市场,而是瞄准了手机、平板这样的嵌入式市场。这无疑是明智的。因为PC市场的软件很大程度上被微软的Windows所绑架,只要微软不支持MIPS,龙芯在PC上就永无翻身之日。而即使微软看到了CISC处理器的局限性,开始更换指令集,那它的首选也会是ARM,而不会是MIPS。相比之下,手机和平板领域的操作系统所支持的指令集就要丰富多了。基本上Linux和Android都能够支持MIPS指令集,所以君正的CPU作为一款MIPS指令集产品,瞄准嵌入式市场无疑在市场上更有出路。另一方面,软件厂商本身也并不愿意被指令集绑架。无论是微软的CLR还是Google非常喜欢的JAVA和Python,他们都有一个共同的特性,那就是平台无关。CLR,JAVA和Python编译出来的程序都不是直接面向CPU的,而是以一种中间语言的形式存在,在执行的时候才会根据执行平台的不同,现场编译成目标指令集。这样一来,这类语言的程序员编译一次程序,就可以在各种指令集的机器上运行。

国产CPU能成功还应该归功于摩尔定律的失效。如果不是集成电路的微型化受到材料极限的限制,各大集成电路厂商肯定还是会以工艺提升作为主要的竞争武器。这样的话,工艺落后的中国芯片工业就永无抬头之日了。所幸,业界的芯片工艺在45nm之后放缓了进步的脚步,这给了中国的芯片企业和各大Fab赶超的机会。现在业界的最先进工艺(32nm)和主流工艺(65nm)已经相距不远了。

从某种意义上说,方舟虽然失败了,但是它培养出了君正的核心团队,并积攒下了大量的技术积淀。君正从方舟中脱离出来后,就失去了国家基金的扶持,但是今天君正XBurst系列处理器的成功也让我们意识到,中国芯已经不再是一个靠政府采购和国家投资娇生惯养的小娃娃了,而是一个能够在市场上用性能、功耗和价格和国际一线厂商PK的,真正意义上的高科技产品了。

你可能感兴趣的:(嵌入式)