作为业界首个真正的开源处理器架构,RISC-V一推出可说备受关注。而对产业而言,其带来的思想与生态冲击,恐怕不会下于当年Linux的推出。
图说:全球一线半导体相关大厂几乎都已经加入RISC-V的行列
Linux在1980年代开始发展,最初从GNU(GNU's Not Unix!)计划开始,并建立了许多自由软件联盟,共同发展包含从编译器、Shell、编辑器与其他工具等一般操作系统会有的程序,但核心的发展却没有着落。这与现在的处理器产业生态,以及RISC-V的发展,有着异曲同工之妙。
RISC-V在推出之前,业界已经有非常完整的IC设计生态,相关软件和硬件供应渠道也都有很好的基础,但业界并没有真正自由的处理器架构可用,换言之,你不是只能选弹性最小,但有庞大背后资源的X86,不然就是可定制弹性较大,但同样要遵守IP供应商规则的Arm或MIPS之类生态资源稍弱的平台。因此,RISC-V架构的推出,也其实是迎合业界的需求。
至于Linux,在推出完整的套件版本前,最关键的内核部份也是最晚才上线:Linus Torvalds在1991年推出首个Linux操作系统内核,并与开源业界共同推出具有完整包装的操作系统,才真正逐步走向成功之路,目前Linux系统也已经成为全世界最普遍的商用操作系统,并深入到我们的日常生活当中。
但成功并非一蹴而就,Linux核心出现之后,并不是马上获得商业上的成功,事实上,他还是经过十几年的发展,并通过许多联盟的共同经营和努力,才得以推动商用落地。
RISC-V的发展路径不像Linux那么漫长,2010年公布最初版本后,目前核心的几个主要指令集都已经是最终的封闭版本,而可定制的指令集扩展也都有了完整定义,业界也开始依照扩展规定去定制自己的架构。乍看之下,业界只要直接用了这个架构,拿去生产芯片成品,后面的市场经营也会水到渠成。
然而事情并没有那么简单,从指令集到芯片虽有完整的产业链可以让芯片业者做出产品,但这样的芯片仍不是完整的产品,若没有与现有产业的软件、操作系统,甚至芯片设计与制造过程中所需要的各种外部资源互相适配,那么就很难推动RISC-V在半导体产业中生根茁壮。
过去Linux的发展,各种联盟与社群的成立对对Linux生态都进行了贡献,不论在代码方面的改良,各种功能的引进,以及与各种硬件的适配,都极大的推动Linux生态的发展。
RISC-V也是希望如此,目前除了最原始的RISC-V基金会以外,各国也都积极在推动自己的产业联盟,甚至印度已经把RISC-V当作国家等级的核心架构,以国家之力发展相关技术与生态。
与Linux类似的是,RISC-V也有全球成员达200家企业以上的RISC-V基金会在推动整个产业生态发展,而其中的成员包含了英特尔、AMD、NVIDIA等一线半导体大厂,这些参与者其实自己也类似相关的计算架构,但他们仍积极参与,甚至贡献自己的设计概念,乍看之下这是吃力不讨好的事情,而且可能伤害自己既有的产品,但为何他们仍愿意去做?
关于这点,回头去看Linux的发展史就可得到解答。
后期Linux能够打进各类计算产业之中,大型科技企业的投入可说是最大功臣。而其中最令人关注的大型企业,该属微软了。
没错,微软也是贡献Linux源码最多的科技企业之一,通过提供Linux核心源代码,帮助改进Linux的性能与功能。早前将Linux Bash Shell添加到Windows 系统之中,更将Ubuntu、SUSE Linux及Fedora等加入Windows Store之中。如今,微软更计划在Windows 10中直接推出完整的Linux 核心。
但其实微软一开始并不喜欢Linux或开源社群,由于认为开源软件会对微软的业务造成威胁,因此微软不仅常在采访中直接攻击开源社群,甚至通过各种手段希望铲除开源社群。但随著微软策略的转变,才逐渐拥抱开源,而后来开源甚至也成为帮助微软转型的主要动力。
大约在20年前,由于时任CEO的Steve Ballmer的个人管理风格,微软是彻底反对与仇视开源社群的,Steve Ballmer甚至曾说出Linux是癌症,足可见当初微软在操作系统垄断之下的霸权心态。后来微软转型成为服务公司,软件变成服务平台,并以订阅制取代买断制,在软件即服务的概念下,自己的Windows操作软件、Office办公软件也只不过是作为服务这系列商品的载体,而不再是商品本身,也因此,微软认知到,Linux其实是可以帮助微软业务拓展的平台,而不是阻碍。
图说:微软后来拥抱开源,主要是认知到开源社群对其服务生态的扩大有非常明显的帮助。
另一方面,微软也不忘在Linux中埋下陷阱,比如说提供Linux系统exFAT档案格式的支持,以及放入多种跟微软既有软件专利相关的代码,当业界习惯这些代码,并成为产品中不可分割的一部份时,微软便可以跳出来收割。
举例来说,微软在Android平台上收取的专利费极高,每支手机都需要支付给微软至于12~13美元。如果不是当初微软”拥抱”开源,那么就不可能额外开辟这笔财源。当然,这招是因为是微软才有办法这么玩,一般企业不值得也不应该学习。
至于英特尔等硬件厂商贡献Linux源码更不用说,毕竟芯片、硬件厂商需要的就是更广大的平台支持,贡献越多源码,就代表该系统更能配合自家平台,或者是自家的硬件生态,这是必要的”投资”。
所以RISC-V可以从Linux开源的历史学到什么经验?芯片厂商彼此竞争,要这些厂商贡献核心源码给开放架构硬件,等于把自己的研发心血送给开源社区,其实多少都会感到抗拒,但开源架构要能够发展,就必须集合众人的力量共享、互利。而如果厂商能看见”分享”之后的长远好处,就不会汲汲营营于短期利益。
另一方面,大型企业的共同推动与支持,也是开源架构能否获得发展的重要关键,目前在国际上,一线半导体大厂几乎都已经加入RISC-V的阵营,即便是英特尔、AMD这类拥有自己处理器架构的厂商,也都愿意推动相关生态的发展,而在中国,若厂商愿意放下短暂的私心,从大方向去看开源社区的经营能带来企业或整个产业的好处,这对于推动中国真正的自有架构发展以及相关生态的布局,会有极大的好处。
然而自私厂商其实不少。这些厂商的特性是只想在开源社群拿好处却又不想贡献,然而此类厂商最终会反受其害。比如说Android系统......
阅读原文: