分享

是说芯语:从Linux发展看RISC-V商业落地

 dsplog 2019-10-17

是说芯语:从Linux发展看RISC-V商业落地

图说:全球一线半导体相关大厂几乎都已经加入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发展看RISC-V商业落地

图说:全球一线半导体相关大厂几乎都已经加入RISC-V的行列

另一方面,微软也不忘在Linux中埋下陷阱,比如说提供Linux系统exFAT档案格式的支持,以及放入多种跟微软既有软件专利相关的代码,当业界习惯这些代码,并成为产品中不可分割的一部份时,微软便可以跳出来收割。

举例来说,微软在Android平台上收取的专利费极高,每支手机都需要支付给微软至于12~13美元。如果不是当初微软”拥抱”开源,那么就不可能额外开辟这笔财源。当然,这招是因为是微软才有办法这么玩,一般企业不值得也不应该学习。

至于英特尔等硬件厂商贡献Linux源码更不用说,毕竟芯片、硬件厂商需要的就是更广大的平台支持,贡献越多源码,就代表该系统更能配合自家平台,或者是自家的硬件生态,这是必要的”投资”。

所以RISC-V可以从Linux开源的历史学到什么经验?芯片厂商彼此竞争,要这些厂商贡献核心源码给开放架构硬件,等于把自己的研发心血送给开源社区,其实多少都会感到抗拒,但开源架构要能够发展,就必须集合众人的力量共享、互利。而如果厂商能看见”分享”之后的长远好处,就不会汲汲营营于短期利益。

另一方面,大型企业的共同推动与支持,也是开源架构能否获得发展的重要关键,目前在国际上,一线半导体大厂几乎都已经加入RISC-V的阵营,即便是英特尔、AMD这类拥有自己处理器架构的厂商,也都愿意推动相关生态的发展,而在中国,若厂商愿意放下短暂的私心,从大方向去看开源社区的经营能带来企业或整个产业的好处,这对于推动中国真正的自有架构发展以及相关生态的布局,会有极大的好处。

然而自私厂商其实不少。这些厂商的特性是只想在开源社群拿好处却又不想贡献,然而此类厂商最终会反受其害。比如说Android系统,终端厂商通常会就自己在开发时遇到的问题回馈到开发社群中,取得帮助,除了解决自己遇到的问题,也帮助开发社群避免类似的问题,但是当业者不想要分享自己发现的问题或修正的代码时,万一社群成员遇到类似的问题,就必须重新解决一次,然后回馈到代码库中,而Google在每次改版时,通常都会采纳这些修正意见,避免再下一个版本遇到类似问题。

而当系统大改版时,采用自己藏私手法的厂商可能会因为修正逻辑不同,导致既有硬件无法完全和新版系统匹配的问题,而必须再动手”修正”一次。不仅增加了维护成本、拖延了更新时间,也造成分裂的问题。

为了避免这种分裂越来越多,Google后来也订定了更为严格的代码使用与升级规则。RISC-V虽有更严谨的版本与扩展指令限制,但是否能避免类似的状况?

中国在2018年成立了中国RISC-V产业联盟,有数十家RISC-V领域相关企业以及十余家大学和研究机构包括芯原、乐鑫、君正、紫光展锐、兆芯、苏州国芯、地平线等重要IC设计业者加入,目的是希望帮助中国广大的芯片设计业者与周围生态业者开辟一条可以共同遵循的方向。

是说芯语:从Linux发展看RISC-V商业落地

图说:中国RISC-V也创立了联盟来经营生态

但值得注意的是,刚推出RISC-V架构IP玄铁910的阿里巴巴平头哥,并没有在成员名单之中。而海思也同样没有加入。少了这两个中国半导体产业的指标性企业,对这个产业联盟而言似乎并不是太好的消息。

海思并不外卖处理器,基本上他走自研自用,主打自有生态,目标摆在全球市场,而非仅本地市场,因此参加最顶层的RISC-V基金会即可。至于阿里巴巴平头哥,则是希望通过IP打入国际市场,巩固自己作为设计服务的角色,因此选择了RISC-V基金会与OpenHW组织,对于本土色彩重,并已经有晶心、芯原等IP公司,以及诸多有经验的芯片设计业者在内的产业联盟也没有太多兴趣。

相较于已经广为熟知的RISC-V基金会,OpenHW组织则是在六月才成立,除了阿里巴巴以外,成员还有Bluespec、CMC Microsystems、Embecosm、苏黎世联邦理工大学、GreenWaves、Imperas、Metrics、Mythic、恩智浦、Onespin、Silicon Labs、Thales以及Eclipse基金会等。

OpenHW组织同样是RISC-V基金会的成员,但是该组织由于成员对IoT等特定行业类别的需求,需要共同合作开发针对大量生产需求的SoC架构,而该组织也提出了Core-V这个以嵌入式系统为主要目标市场的架构IP。

RISC-V的特点在于不同厂商,或不同组织,都能针对自己的需求定制架构,最上层的基金会决定主要的指令集方向,并且决定固定的指令集和开发的扩展指令集类型,由于处理器架构的开发难度非常高,,即便有了指令集,实际上多数芯片设计公司只能使用现成的套装IP,然后丢给晶圆代工厂生产,自己顶多只能决定不同功能模块的采用,或者是规模大小,最后做配套驱动、软件的开发。也因此,要进入RISC-V生态,最好的方式还是打群架,共享知识,打造适合特定行业类别的通用架构,并通过深度参与,可在IP中定制出针对自家公司最优化的架构。

联盟的建立,主要还是为了共同的目标,成员之间可以为这个目标放下彼此的矛盾。

中国RISC-V产业联盟想做的也是类似的事情,但比较不同的是,RISC-V产业联盟主要还是各自负责产业生态里面的不同部份,比如说芯原、晶心科技负责IP的设计,其余主要还是作为客户,虽会反馈,并不会直接参与设计。

是说芯语:从Linux发展看RISC-V商业落地

图说:平头哥主打AIoT方案,与OpenHW组织有著共同目标。

然而阿里巴巴平头哥虽开源了玄铁910的设计,更多是秀成果、拿功劳,平头哥并没有拿出该IP的试做芯片,也没有具体的数据对比,基本上就是概念架构,然后在这个概念上想像其性能表现,该IP会不会有人用来做芯片,是不是有初步的合作对象,也同样未知。

玄铁910像是一个引子,要让更多厂商愿意用,愿意改,愿意反馈,这样才能建立起生态。同时也要让其定制的50多条指令得以进入主线,实现影响力。然而这个作法有点像霸王硬上弓,独力推出概念IP后,就希望业界采纳为标准,也不考虑其是否真有商用落地的价值,若各家厂商都使用这种作法,不论有没有必要,就是定制各自的扩展指令集,期待先抢先赢,在没有产业共识的情况下,就会让RISC-V的生态走向破碎,未来同样的功能在A芯片上用的指令集和B芯片上的就不一样,那么软件就会无所适从。

“各取所需”可以说是目前中国产业发展RISC-V的主要态度,反而”开源”所强调的”合作共享”不是重点所在。但别忘了,只有合作共享才能显现出开源架构的真正价值,否则只是在伤害产业而已。

另外,RISC-V产业联盟中,晶心和芯原、芯来这三家厂商的角色定位重复,未来要以谁的定制指令为主?如何折冲彼此的利益和技术观点,协调出最有用的一套作法,并使其归于主线,让中国的定制架构能成为主流,并影响整体软硬件生态发展,恐怕未来也都还有不小的努力空间,且这也不是特定联盟的问题,而是整个产业的问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多