在“十二五”科技创新成就展上,华为展出了其第一台ARM平台服务器“泰山”,并在展板上写明该服务器“配备自主研发的Hi1612 ARM架构64位处理器,除存储单元外均有完整知识产权……”
一时间国内媒体争相以“华为自主架构芯片泰山发布”或“华为推出自主架构服务器CPU”等为标题报道。然而峰回路转,在6月7日,华为公司出面辟谣,表示“泰山”并非采用自主研发的微结构,而是ARM Cortex A57,并指出“泰山”为核高基1号专项项目,是用来做互联网冷却储存的生态系统验证,而非推广的CPU和量产型号。
媒体之所以报道有误,一方面在于部分媒体未经充分的信息核实;另一方面,华为将一款购买ARM公版架构的产品表述为“配备自主研发的Hi1612 ARM架构64位处理器,除存储单元外均有完整知识产权”,也不准确,使媒体将这款32核A57芯片与华为自主设计的芯片相混淆。
那么,为何一款购买ARM公版架构的产品能够成为“自主研发”,能够成为“除存储单元外均有完整知识产权”,甚至成为核高基1号专项项目?这就要从国内就自主研发的标准和话语权之争说起了。
自主可控标准之争
近年来,国家对集成电路产业发展高度重视,在龙芯、申威、飞腾等老牌设计单位取得累累硕果的同时,又成立了拥有1200亿元人民币的集成电路大基金扶持产业发展,先后与IBM、VIA、高通、AMD合资/合作成立兆芯、宏芯、华芯通等公司,并大力扶持展讯、海思、联芯等ARM阵营IC设计公司茁壮成长。
不过,在国内IC设计公司茁壮成长的大环境下,也存在一些隐忧——一些IC设计公司严重依赖国外技术,近乎于成为境外公司的马甲;一些公司不具备造血能力,基本依赖政府经费生存;国内IC设计公司分属X86、ARM、MIPS、Alhpa、POWER阵营,各搞一套软件生态和产业联盟,导致资源浪费、重复建设。而且更加不可思议的是,各家公司(即便是那些马甲公司)都认为自己符合“自主可控”、“安全可信”、“自主知识产权”的标准。
具体来说,某些公司将VIA、IBM的技术穿个马甲,就认为是“自主知识产权”,并申请核高基项目,从政府拿经费。而本次华为的做法也有些类似,同样是购买ARM的Cortex A57做集成,然后宣传“自主研发”和“除存储单元外均有完整知识产权”,本质上也是将买IP做集成认定为“自主研发”,其产品也被界定为“除存储单元外均有完整知识产权”。
这些形形色色的“自主可控”、“自主知识产权”的认定标准,表面上看是话语权之争,其实质都是利益之争——正是因为将购买VIA的技术穿马甲认定为“自主可控”,兆芯才能获得核高基1号专项重点扶持,2015年又从政府获得海量资金,还在国家重点系统和工程中推广应用——根据科技部官网的文章《核心电子器件、高端通用芯片及基础软件产品科技重大专项交流材料》显示:采用ZX-C的联想II代整机应客户要求于2015年底正式交付5800套产品,并将在军队和政府保密系统中进行上千套规模的试点应用。
而华为本次关于“泰山”展板的描述亦是如此,笔者猜测,华为此举,一方面是可能是宣传文稿忙中出错,毕竟在发布的公告上,华为已经声明是A57;另一方面也可能是为了获取国家和政府的支持。
中国芯三条发展路线
由于自主技术越多,那么与现有的技术体系(Wintel、AA)兼容性就越差,市场化难度就越大;反之,购买/使用国外技术越多,和现有的技术体系兼容性就越好,市场化也就越容易。笔者根据自主可控程度高低和市场化运营的难易,将国内IC设计公司划分为3条泾渭分明的技术路线:
独立自主路线的龙芯、申威。
由于技术独立自主,和国外主导的技术体系不兼容,必须另起炉灶——必须自主扩展指令集,比如龙芯的loongISA;自主设计微结构,比如龙芯的GS464E;自主开发编译器,比如龙芯的LCC和申威的SWCC;自主开发操作系统,比如龙芯的loongnix和申威的睿思操作系统;
自主构建产业联盟和软件生态……这是一项非常庞大而复杂的工作,资金需求量大、研发周期长、技术门槛高,因此市场化难度非常大。
半自主模式的飞腾。
飞腾购买了ARM指令集授权,表面上看起来和自主路线的龙芯购买MIPS永久授权差不多,但从发展权和利润上看,还是有不小的区别,而且这个区别还相当的关键——除了要向ARM缴纳巨额专利费之外,在发展上受制于人。下图为龙芯3A2000和飞腾1500A在自主可控方面的对比。
飞腾只能是ARM卖什么,你用什么,在生态上也只能跟随ARM。即便飞腾设计了自己的微结构,也不能像龙芯那样对外授权。
在安全上,若微结构自主设计,则能保障产品安全可控,比如飞腾自主研发的64核ARM V8指令集的服务器芯片“火星”。但如果像飞腾1500A那样购买ARM Cortex A57,则和海思麒麟、展讯一样依赖境外技术。因此,笔者将飞腾的模式称为半自主。
依赖于境外技术的兆芯、宏芯、海思麒麟、展讯。
兆芯的ZX-A就是VIA NANO的马甲;宏芯的CP1就是IBM Power8的马甲;海思麒麟和展讯在技术上也是高度依赖ARM……单单就CPU而言,本质上是IBM、ARM、VIA公司在华代理人。因此,很难和“自主可控、安全可信”划等号。
上述公司最大的优势也是在技术上可以依赖境外公司,以海思麒麟、展讯为例,可以购买ARM的指令集授权;或购买ARM Cortex A53/A57/A72等微结构,依赖于国外开源GCC编译器;依赖于安卓操作系统及其软件生态……海思麒麟、展讯依附于“ARM+安卓”技术体系,就不必像龙芯、申威那样事事皆需自主研发,可以大幅技术门槛低,市场化难度也低,能赚快钱。
诚然,华为自主微结构也正在研发中,不过在还没有产品或者公布模拟器测试成绩前,海思麒麟依然归属于依赖境外技术这一档。
ARM技术路线很难符合自主可控标准
笔者认为,真正的自主可控和自主知识产权,必须能够做到信息安全不受制于人,产业发展不受制于人。因此,采用国外技术穿马甲的做法,无法真正做到信息安全不受制于人,显然是不符合自主可控要求的。
而购买ARM的IP核做集成的的模式能否符合自主可控的标准呢?表面上看,CPU或SOC是自主研发的,但因为微结构(CPU核)是从ARM手里购买的,不被国内企业掌握,因此在安全和后门问题上,必然得不到根本保障——微结构决定了CPU的性能、功耗、安全性等要素,而日常我们所说的双核、四核、八核CPU芯片,其实是将2、4、8个微结构(CPU核)的接口互联并集成到一片硅片上。
正因此,由于都是购买ARM设计的微结构,所以基于ARM结构的国产芯片的性能、功耗、安全性都由ARM决定,中国ARM阵营IC设计公司在性能、功耗、安全性根本不具备话语权,能够做主的,仅仅是把这些ARM微结构组合成双核、四核、还是八核的CPU芯片,以及在后端设计方面,在ARM留有的冗余范围内,将主频定得高一点还是低一点。
另外,即便是授权等级更高的指令集授权,ARM也是给出了很多限制,国内IC设计公司是很难凭借有限的授权走出自己的路,并最终单飞——华为、飞腾能购买ARM指令集授权,但买到的仅仅是ARM64位指令授权,并没有买到ARM32位指令集授权。由于ARM 32位指令系统的CPU芯片在移动互联网世界占据了90%以上的市场份额,以及ARM32位和64位指令集不兼容(MIPS32/64是能兼容的),ARM向飞腾、华为推销64位指令授权,本质上是找代理人跑马圈地,推广ARM 64位指令集,扩大市场份额,防止重蹈Intel当年IA-64指令的覆辙。
而且华为和飞腾购买的指令集的使用范围也是有限制的,只能用于服务器领域,因为ARM推销ARM64指令的时候,原本的意图就是让华为、飞腾在中国大陆帮助ARM开拓服务器市场,自带干粮、自担风险为ARM打江山、抢地盘。更要命的是,ARM的指令集授权非常昂贵,每5年的授权根据不同的授权等级,费用高昂——恰恰是如此高昂的授权费致使U.C. Berkeley等几个大学推出RISC-V指令集,Google、惠普、Oracle、西部数据等公司成立RISC-V基金会的原因(RISC-V指令集是一个没有专利问题和没有历史包袱的全新指令集,并且以BSD许可证发布。任何公司都可以在自己的产品中免费使用,而修改也无需再开源)。
另外,ARM严格禁止修改、扩展指令集,即便飞腾冒着侵犯知识产权去修改,也是无法得到AA体系中软件商的支持,等于是指令集无效扩展。这使飞腾不具备ARM指令集扩展的权力,导致在利润上受制于人——购买ARM指令集授权不仅价格昂贵,而且授权期限仅仅5年,还被限定使用范围,最关键的是“买无止境”——指令集到期接着买,指令集更新还得买……
说了这么多,那么国产ARM芯片到底是否属于自主知识产权呢?如果真如华为、展讯等公司宣传的——国产ARM芯片拥有自主知识产权,但这就会带来一个悖论:既然是自主知识产权,那又何必每年向ARM缴纳巨额专利费呢?既然是自主知识产权,为何不能自由选择发展方向,自主修改指令集,自主开发用于手机、PC、超算的微结构?既然是自主知识产权,为何不能像龙芯那样对外授权IP呢……
结语
中国CPU发展现状是各类马甲CPU公司既能获得国外技术支持,又能获得政府巨额经费,而国外公司根本不会传授真本事,结果造成了其在技术上没能形成自己的能力,在商业上发展不顺,只能依靠政府输血过活。
ARM阵营IC设计公司则在ARM的庇护下,在商业上实现了盈利,但却因ARM而兴旺,一旦ARM给点颜色,比如收紧技术授权,很可能就会被重创——软弱性和妥协性自诞生之日起一脉相承,无法实现信息安全和产业发展不受制于人的宏伟目标。
而龙芯、申威则独立自主、自力更生,以将Wintel彻底赶出中国为目标,因此最为革命,也是实现信息安全和产业发展不受制于人的唯一人选,但国家的扶持却最为有限。例如,逼迫龙芯只能去商业市场谋生存,并最终实现自收自支,自负盈亏。
本文授权自公众号铁流(tieliu1988),仅代表作者本人观点。