MIPS的开放真的能打击RISC–V?
2018-12-23
今天,在整个业界拥有极高声誉,但日益衰落的MIPS指令集,终于在新东家WaveComputing的手里正式宣布开源。在MIPS经过多次卖身,最后屈身于AI初创公司,RISC-V开源指令集日益流行的今天,这个结果的确在笔者意料之中,虽然MIPS开源整个指令集架构属于迫不得已,但已经非常清楚的表明,在开源软件已经统治整个行业的时代,开源硬件的大潮也已经来临,指令集开源的流行正是其最大标志。
相比于业内人尽皆知的开源软件运动,开源硬件在业内的普及度就差了不少,盖源于大部分人对开源的理解出现非常大的偏差,把Free理解为免费。而开源硬件显然不太可能免费提供,于是很多硬件行业的人对开源产生极大的抵触情绪,认为这将危及整个行业的商业模式。
其实不然,开源虽然源于自由软件运动,但实际上并不排斥商业化,红帽被IBM收购其实已经很好的说明了开源也可以获得巨大的商业利益,并且和原有的生态完美融合。其实说到开源硬件,大部分科技史作者会把PC作为其开端。是的,你没有看错,我们每天接触到的PC机,其规范就是公开的,任何厂商都可以根据这个规范制造出PC兼容机,其软件完全兼容。感谢蓝色巨人的博大胸襟,使得PC成为人类第一个大规模普及的计算设备,也把各类封闭的微型计算机打得屁滚尿流,现在已经完全消失。就算是果粉们顶礼膜拜的苹果机,现在也已经是彻头彻尾的PC机,唯一的区别只是品牌和操作系统。
当然最近几年,随着开源理念的日渐深入人心,很多开源硬件项目浮出水面,成为大家聚焦的热点,其中最出名的是Arduino,但这个平台似乎更像是创客的玩具,距离商业化产品还有一定距离。
而由Facebook主导的OCP开放计算项目现在已经获得了相当多行业巨头的支持,为数据中心的各类设备的标准化带来了巨大的进步,而名为开放网络基金会ONF的组织也正在制定基于软件的网络设备的标准或蓝图。这样的开源硬件项目其实已经非常普遍,它们一直在促进整个行业走向开放和标准化。
而处理器指令集架构是软硬件系统最核心的界面,所有的软件都通过指令集与处理器打交道,谁掌握了指令集谁就能控制行业的生态。但现有的主流指令集全部是专有的,这对于行业的发展其实非常不利,处理器指令集是最应该公共化的东西,却被某个企业所控制,这就产生了巨大的矛盾。
所以当RISC-V开源指令集横空出世以后,立刻得到了业界的强烈支持,短短几年,RISC-V基金会的会员数已经超过200家,并且绝大部分的科技业巨头都已经加入基金会,显示了整个业界对开源指令集的巨大热情。
正是在这个热潮的推动下,已经完全边缘化的MIPS指令集终于勇敢地走出了开源的重要一步。其实MIPS的开放性在原有的几个商用指令集里面已经首屈一指,非常容易得到指令集架构授权,这与ARM严格限制指令集架构授权形成鲜明对比。笔者原来推演过一个MIPS公司的结局,就是Google这样的互联网巨头收购MIPS,然后开源MIPS指令集甚至是已有的一些内核。现在这件事情由WaveComputing这样的创业公司来完成了,当然内核没有开源,内核授权业务仍旧保留。这是一个非常理智的商业安排,通过开源指令集来扩大整个指令集的生态系统,再由扩大的生态来反哺内核授权业务,完成了一个完整的商业闭环。
那么开源的MIPS指令集和RISC-V指令集之间不可避免也会产生竞争关系,它们的竞争态势会如何呢?笔者分析下它们之间的对比情况:首先,现在MIPS指令集的软件生态还是强于新生的RISC-V,毕竟它是最早的商用RISC指令集架构,虽然败于ARM,但积累的软件和开发工具还是非常可观的,尤其在原来占优势的领域。但这次开源的是MIPS R6指令集,这是一个大幅修改近乎全新的指令集架构,和以前的MIPS指令集区别极大,也就是那些历史遗产实际上毫无用处,一个没有历史遗产的全新指令集,那不就是另外一个RISC-V吗?甚至它的生态还不如现在整个行业全情投入的RISC-V,利用MIPS这个名头来打历史情怀牌,实际上却是一个新手,这次WaveComputing的营销噱头有点过。再从处理器内核架构的成熟度方面来讨论,MIPS历史上的那些内核是很成熟,但新指令集已经改变,内核是重新设计的,这个成熟度其实无从说起,RISC-V最早的内核甚至比它们更早。
MIPS的新闻稿里面还提到了能够为客户提供专利方面的保护,这个提法也有问疑问,因为MIPS在出售给Imagination以前把自己拥有的580个专利里面的498个专利都出售给了BridgeCrossing,自己只保留了82个和指令集直接相关的专利,出售的专利获得永久授权。这个BridgeCrossing是ARM为首的几个科技巨头组成的一个专利联盟,这个专利联盟从当时的行为看主要是为了做专利防御,因为ARM64位处理器的指令集和MIPS64位指令集非常相似,很容易被告专利侵权,收购这些专利等于是化解了这些专利风险。但现在MIPS能否把这些已经出售的专利再授权给自己的客户,这个要看当时签订的专利授权合同里面有无相关条款,否则它的这个说法值得令人怀疑。
除此以外,在内核生态领域,MIPS就明显占劣势了,因为现在已经有许多处理器IP公司在做基于RISC-V指令集的内核,并且成为它们的战略重点,而由于MIPS原有内核授权业务优势过大,其他公司估计不会去参与这个业务的竞争,而开源社区出身的RISC-V还有开源内核可选,使得MIPS内核的多样性和可选择性大大弱于RISC-V内核,甚至由于历史惯性,这点可能永远也赶不上RISC-V。
还有MIPS指令集架构开源以后,它的拥有者肯定不会是现在的WaveComputing,应该会建立一个中立的非盈利性组织来管理,大家推测可能会放到前几年成立的prpl基金会里面,但这个基金会的组成还是比较单薄,能否吸引更多的业内企业加入也是个挑战,毕竟行业不需要多个不同的标准的指令集,形成现在的生态分裂局面,后面的竞争就是看巨头站队了。这个态势不由让笔者想起BSD和Linux的竞争,最后新生的Linux是完胜更加古老成熟的BSD UNIX的,这还是和历史路径以及巨头站队有关,虽然软件和硬件不是完全一样的情况,但历史从来都可以作为镜鉴。
从上面分析看,MIPS开源的指令集其实不占有任何优势,一个披着MIPS名字的全新指令集,其生态其实还不如RISC-V,我们可以理解为已经彻底边缘化的新指令集架构利用开源的模式来为自己建立生态,然后可以获得相应的商业内核授权收益。这个商业模式当然无可厚非,只是来得太晚了,如果早5年开源,RISC-V可能就没有任何机会了。历史没有假设,商业公司毕竟有它的利益牵绊,但历史大势不可阻挡。
当然现在更重要的事情不是它们两个指令集谁取胜,而是ARM怎么办?在行业大势面前,ARM虽然也有几个免授权费的内核,但版税不可少。在巨大的商业利益面前,ARM显然不会开源自己的指令集,除非软银为了更加巨大的潜在利益而放弃现有收益,但目前还看不到这种举动的背后逻辑。
开源软件已经成为整个互联网行业的基石,并且不断开疆拓土,开源硬件也不断侵蚀云计算和通信等行业,而最核心的开源指令集这几年终于蔚为大观成为整个行业的新潮流,MIPS不会是最后一家开源的指令集,以前那些大型商业RISC处理器指令集要么开源要么终结,不会有其他的道路,唯一的疑问是现在的霸主ARM能抗拒多久?从微软整体战略的转变,我们不难得到答案。