收藏本页
请同时按 Ctrl 和 D,谢谢
400-688-2916
手机APP-安卓
国产CPU的路线斗争
阅读 869发布日期 2020-12-02


源:远川科技评论


2002年8月10日凌晨6点,伴随着电脑上出现“login:”字样,中科院计算所里一阵欢呼,龙芯一号CPU终于工作了,我国计算机“缺芯”的局面迎来突破。


一年多前,中科院计算机所成立了龙芯课题,并凑出了100万元研发经费,32岁的胡伟武就此接下了这个天降大任。胡伟武可谓是为龙芯而生,高考后,他从浙北山区来到合肥的中科大,一个月20块钱的生活经费,拿出8块钱来搞“研发”。而他的导师正是被誉为“中国计算机之母”的夏培肃。


龙芯寄托了太多人的希望。为了研发成功,大家日夜扑在实验室,每天一起读毛选来提升信心;而且,还给龙芯取了另一个名字:狗剩,承载着中国农村“取个贱命好养活”的寓意。


终于,龙芯一号成功应用,而二号、三号也先后研制成功。2007年初,在中法双方领导人的牵头下,龙芯还与意法半导体在人民大会堂举行了一场发布会,双方合作开拓国际市场。然而,一场最大的危机,也随之而来。


2009年,题目为《龙芯无奈购美公司专利授权,“中国芯”光环褪尽》的文章发布,龙芯花钱买MIPS架构专利的行为被无限放大。一时间,举国哗然,以为是自己研发,没想到居然是买的。


关键时刻,胡伟武不得不站出来,为踏破门槛的媒体老师们上了一堂无奈、心酸又带着红色语言风格的计算机原理课。胡伟武解释到,买芯片架构不等于买芯片;有了架构,依然需要做大量自主研发工作。然而,在几年前“磨皮汉芯”的负面阴影下,龙芯依然遭遇千夫所指。


而龙芯所遭遇的舆论困境,也正是国产CPU二十年沉浮的缩影。从自主之难、到引进之忧,再到另起炉灶,国产CPU在坎坷和争议中,举步维艰却又砥砺前行。国产CPU的路,到底通往哪里?


第一轮:自主之难


第一个提出搞电脑芯片的人是倪光南。


1994年,面对国外电脑的大幅冲击,高歌猛进的联想集团危如累卵。倪光南主张向芯片纵深发展,柳传志则要建一条电脑组装线。“技工贸”还是“贸工技”?倪柳二人的路线之争以倪光南出局终结。在宣布倪光南被免职的会议上,柳传志掏出手绢抹泪,倪光南凛然危坐,不为所动[1]。


联想在一个贸易红利指数放大的时代取得了胜利,这在相当程度上影响了人们对于芯片的认知。倪光南出走后十年,联想先后出了三本书:《联想为什么》、《联想风云》、《联想局》。倪柳之争的广泛传播,和联想2005年收购IBMPC业务的如日中天,仿佛在反复证明一个真理:芯片造不如买,国产天方夜谭。


联想成为时代偶像之际,倪光南鼎力支持的国产CPU却暗淡收场。


当初为了支持方舟科技把国产CPU卖出去,北京市政府吃了第一口螃蟹,把微软踢了出去,此事震动太平洋两岸。微软总裁辞职,基辛格去信北京市长施压,最后是总理顶住层层压力,方舟一号终于进了政府的采购单[2]。


而开局有多高光,结局就有多惨烈:装了国产CPU的电脑没人想用,方舟科技的老板贪了经费,盖了大楼,最后还说钱不够用[3]。这更加强化了大众已有的固执偏见:国产CPU非奸即盗,不如不干,还是英特尔最香。


然而不同于消费者视角感知,中科院的计算机元老们持续向国家呼吁:“十五”期间要启动自主CPU的研发,要不然就没机会了。终于,不满于英特尔的垄断地位,以及考虑到CPU受制于人所带来的安全风险,国家出台了旨在振兴国产自主CPU的“泰山计划”。


和当时与被寄予厚望的方舟同时进行的,还有另外三大国产CPU项目:


龙芯,因经费捉襟见肘,在一开始连便宜的MIPS架构都无力承受;申威,由无锡历史悠久的56所研发,采用古老的Alpha架构,服务于军队和超算;飞腾,早在1999年研发出第一款CPU,采用SPARC架构。


在“十五”、“十一五”两个五年计划期间,凭借863、核高基等众多国家级经费的支持,国产CPU芯片迎来了春风:基本保持着每一两年就出一款芯片的速度,在性能的赶超上不遗余力。2004年的龙芯二号,已经可以追平1999年的奔腾三。


然而,三大国产CPU也很快遇到了三大难关:


性能难关,英特尔在进入新世纪后战斗力爆表,AMD在2006年被打残,国产CPU进展不小,但始终存在代差;生态难关,x86专利墙高耸,国产自主CPU统一采取了绕行策略,但如此一来很难适配微软系统;量产难关,使用者已经适应了微软的操作系统,一个荒芜的桌面,没有吸引力,何谈量产。


而之所以有此三大难关,是因为国产CPU都采取了精简指令集架构:MIPS、Alpha、SPARC等。这些一般人闻所未闻的架构,都是当年英特尔的手下败将。而核心要素则是英特尔和微软之间形成的同盟。


随着“十一五”计划的收尾,国家补贴幅度收紧,三大国产CPU迎来了命运的拐点:胡伟武一咬牙,决定让龙芯走市场化之路,研发人员丢掉铁饭碗下了海;申威则隐匿在体制和超算市场,没有向下出击;飞腾爆发了一场争论,两派人员在政府领导面前吵着是否要放弃原有架构,一时陷入了迷茫。


看不到国产CPU的曙光,于是,有人便提议了另一条路线:既然打不过,为什么不引进呢?


第二轮:引进之忧


在大飞机、核电站和高铁开始走向自主之际,CPU却开始了引进潮。


在引进路线上,国内派出了两支大军:上海兆芯、天津海光。业内最流行、最商业化的便是英特尔的X86架构芯片,但英特尔非常强势,难以谈判。于是,这两家公司都选择“曲线救国”:


上海兆芯收购了台湾地区公司威盛电子的X86授权。威盛被誉为“台湾的英特尔”,其X86专利授权则来自于其收购的两家被英特尔打得奄奄一息的美国公司Cyrix和Centaur。而威盛电子相关公司,又是上海兆芯的发起股东,随后,兆芯也以2亿多美金,收购了威盛电子的X86专利。


天津海光则选择了AMD。AMD很早获得了对英特尔X86的交叉专利授权,而且自研的Zen架构性能强悍。但迫于英特尔的激烈竞争,AMD现金流压力大,急需输血,于是,便有了和海光的合作,但AMD也留了心眼:海光需经两层公司获得授权,并经过11个流程,才能在中国大陆地区销售产品。


引进技术后的兆芯与海光,都实力大增。兆芯对威盛的交易可谓一石三鸟,获得了CPU研发团队、x86架构专利、芯片组产业链;而海光则背靠上市公司中科曙光,借鉴AMD的作业,加上国产加密算法,在商用服务器起量很快。


然而,无论是买,还是租,代价都不菲,兆芯与海光分别花了20亿元以上;但确实很快便砸出了声响。兆芯成立两年后便实现了量产,卖了一万多套。海光在今年上半年营收2.7亿,净利润6000多万。


引进路线看起来立竿见影,但当海光被列入美国实体清单,缓过气的AMD表示最新架构不再对海光授权;而上海兆芯也面临着专利瑕疵时,我们才发现,引进也不是万金油。


与此同时,中国大陆地区的x86人才极为薄弱,“拿来主义”能否进化到“吸收创新”,要打一个很大的问号。如果只能停留在对x86硬件层面的拷贝与粘贴,那么很难深入地去搞研发,并且满足高安保级别和消费者市场的需求。


自主,需要从底层开始,难度几乎不可能;引进X86架构,却也面临着被断供、无法更新的担忧。就当市场再度纠结的时候,ARM却映入了眼帘。


第三轮:另起炉灶


从2001年进入中国以来,ARM给人的印象是“中国科技公司的老朋友”:靠谱、好用、能打。更为重要的是,ARM架构授权可以在指令集层面永久买断,一方面可控程度更高,另一方面研发程度更深。因此,国产CPU开始基于ARM架构自主研发,试图做到与x86架构一样的性能,从而实现更深层次的替代。


事实证明,国产CPU做的确实不错,而且是给ARM助攻。


在经历了2011年秋天的“自主VS引进”路线大争论后,飞腾选择了ARM架构。2015年8月,一个名叫Charles Zhang(张承义)的中国人,在全球芯片界的顶会Hot Chips上“华山论剑”,用中式英语介绍了飞腾服务器CPU“火星”,世界上第一款基于ARM架构研发的64核CPU。


这个发布,在业界引起了不小的轰动,但随后国内的舆论,却又让飞腾经历了名利场的残酷:飞腾“媲美英特尔”体的宣传“令人震惊”,大众认为一个语焉不详的念稿式发布会,一定隐藏着蒙骗国家补贴的惊天秘密。甚至有人在网络上号召群众发起一场针对国产CPU的监督运动。


飞腾陷入了一个薛定谔的舆论场:做不好有人喷,做好了还是有人喷。而这也几乎是众多国产CPU公司面临的处境。要打破困境,唯有夯实实力:


飞腾的商用服务器和桌面CPU制程分别达到了28nm和16nm,基本符合国内特定场景使用;而且联合了基于开源Linux研发的麒麟操作系统,在台式机上可运行200万安卓应用;同时,也通过资本加速,飞腾整体并入上市公司中国长城,方便配套整机。


近两年国产替代意识的迅速觉醒,更是让飞腾走上了快车道。2018年,飞腾卖出了20万块基于ARM架构的CPU,2019年营收增长三倍,2020上半年营收3.4亿,已超过去年全年。而其跨越式的发展,得益于多路并进、“农村包围城市”的战略,产品涵盖了嵌入式、桌面和传统服务器。


就在飞腾借助ARM架构拓展之时,华为介入了战场,而且一出手就是大军团作战,在服务器CPU市场高举高打。


2019年初,华为发布了首款ARM架构服务器CPU“鲲鹏”,并与各省市建立了鲲鹏计算产业联盟,向各地输送行业标准和人才,并与各地代表性企业建立硬件生产基地。今年5月,鲲鹏CPU进入中国电信采购名单。


华为此番凌厉攻势,一如当年在程控交换机市场的打法,绑定各地电信局,共荣共存,最终凭借技术升级和渠道,完成了对交换机的国产化。


国产CPU放弃Intel、另起ARM炉灶,烧得确实很旺。但ARM也在美国禁令下摇摆不定,甚至有被出售的风险,因此,一些观察者认为,国内基于ARM架构的CPU假国产之名,行ARM之实,为“假洋鬼子”,实际上还是不够自主可控:如果断供了,同样是遭殃,拿着一个过时的永久架构,迟早会被别人击败。


兜兜转转,问题又回到了原点:我们究竟要实现什么程度的自主?国产化应该遵循何种步骤?


尾声


从2000年到现在,国产CPU先后走了三条路线:


自主派,执着于对抗英特尔的x86架构,将MIPS、Alpha等被击败的原始架构收为己有,从最基础的指令集出发,建构出了一座中国人享有完全掌控力的CPU城堡:


市场派,延续了改革开放以来的一贯技术路线:引进、消化、吸收、再创新,碍于英特尔的专利墙,不得不采取迂回策略,或买或租被阉割的x86架构,消化之路犹未可知;


生态派,依托于自有的研发实力,在ARM与英特尔的竞赛中,试图借力打力,利用新兴起的ARM生态,逐步蚕食存量的x86市场。


看似不同的三条路线,实际上都是为了两大诉求:自主安全可控,满足市场需要。但这两个诉求,却在一定程度上是相悖的。


完全自主可控意味着指令集层面的重建、筛查和排雷,在严格意义上讲,最为封闭但占据垄断地位的X86,应该是第一个被排除出局的。但X86却又是商业化最成功的,用户已经完全习惯了微软+英特尔的组合,沿着x86路线走是迁移成本最低的。


这就是国产自主的尴尬。不同于独立封闭地制造原子弹,CPU、操作系统、芯片,都是强商业属性,产业链、开发均相当国际化的产品,这意味着:自主之路,必然是在“自力更生”和“拿来主义”之间不断平衡。


在过去,我们很容易倒向“造不如买”,但如今的外压,提醒着我们,自主虽难,但探索却不能停步。