指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它是CPU性能体现的一个重要标志。在半导体领域,指令集是芯片设计的基础,是一切软硬件生态的起点,也是决定芯片性能和兼容性的关键因素。
最近,有媒体曝光了华为的两个商标,是关于芯片指令集的,其中文名称是“灵犀指令集”,于2019年9月24日申请,而英文名则是“LinxiISA”,于2022年10月24日申请,也就是说华为要搞自己的指令集了。
目前全球最知名的两大指令集是X86、ARM,Windows系统作为全球使用最广泛的桌面操作系统只支持X86架构,所以X86在PC领域称霸,而在移动领域,目前无论是安卓、苹果还是华为的芯片都是基于ARM架构。
像ARM这样的指令集并不是说一次付费就可以完全买断,它是在不断更新版本的,每更新一个新的版本就需要继续付钱买新版本的授权,而每一个版本都会增加一些新的特性,理论上讲一代更比一代强。这些新增的特性非常重要,甚至会影响芯片的使用。
举个例子,2011年发布的ARM V8版本引入了64位指令集支持,而以往手机应用都是基于32位设计的,在最初的过渡阶段为了确保大多数用户的体验可能还没有影响,但随着越来越多的开发者转向64位应用,市面上基本所有的应用都采用了64位设计。假设我的公司只得到了ARM V7版本的授权,我公司研发的芯片就根本无法运行任何最新的应用,全部使用我公司芯片的手机都将沦为“废铁”。
由于众所周知的原因,华为可能并没有得到ARM V9版本的授权,也许今后只能继续基于V8版本进行自研魔改来设计芯片,虽然由于华为出色的芯片设计能力,即使是依靠V8版本设计自研的芯片也能够与其他公司基于V9版本设计的芯片相抗衡,但到今后V10、V11、V12呢?万一有一天要普及128位的应用呢?所以掌握主动权是十分必要的。
创造指令集并不难,难的是如何将指令集推广,像是今年搞得有声有色的RISC-V,最初只不过是加州大学伯克利分校的一个实验室项目,四人的小组只用3个月的时间就开发出来了,但一直历经了十余年的发展RISC-V才真正开枝散叶得到有效的推广应用。
指令集推广的难体现在两个方面,一方面是性能,另一方面是生态。性能很好理解,市面上已经有的指令集性能强大、功能完善,而新设计的指令集不一定有这么好的性能,甚至还可能存在未知的隐患,所以很少有开发商愿意采用。
而在生态方面,正如X86与Windows绑定,ARM则与所有的移动端绑定,市场上的应用大都是根据这两家的架构来开发的,如果厂商想要采用新的架构,就意味着要抛弃以往所有的成果从头再来,即使成功了还面临不同架构的维护等难题,对于厂商来说换新的架构得不偿失,前景不明、风险巨大。
如前文所述,想要搞一套自研的指令集并不难,难的是怎么推广让更多人使用,像是苹果、高通关键的命门掌握在别人手中,他们就不想摆脱对于ARM得依赖吗?想,但前期的沉没成本太高,硬要搞是伤敌一千自损八百,不搞的话最多只是亏点钱,多赚点少赚点还不到生死攸关的地步。可是对于华为来说,从长远来看不去搞自研指令集无异于慢慢等死。
不过,值得高兴的是对于指令集推广的两大难点,华为都有办法解决。在灵犀指令集性能方面,根据注册商标的信息,指令集的支持范围基本涵盖了全部电子产品的芯片,并且有业内人士透露该指令集的架构更先进,性能更强劲。而在生态方面,鸿蒙软件生态已经卓见成效,截至2023年8月份,鸿蒙生态已经有超过7亿的设备采用,支持鸿蒙系统的开发者数量达到了220万人,尤其是完全独立的鸿蒙Next的出现,更是标志着华为已经有了另起炉灶的底气。
华为自研灵犀指令集的举动,一定程度上来说是为了更长远的发展而不得不做的准备,前期发展的艰难是一定存在的,但如果真的成功,华为也许会达到一个苹果和高通都未曾达到过的全新高度。