从Linux到RISC-V:合作共享才能显现出开源的真正价值

发布者:古古斋最新更新时间:2019-08-12 来源: 世说芯语关键字:Linux  RISC-V  开源 手机看文章 扫描二维码
随时随地手机看文章

作为业界首个真正的开源处理器架构,RISC-V一推出可说备受关注。而对产业而言,其带来的思想与生态冲击,恐怕不会下于当年Linux的推出。


图片.png

图说:全球一线半导体相关大厂几乎都已经加入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其实是可以帮助微软业务拓展的平台,而不是阻碍。

图片.png
图说:微软后来拥抱开源,主要是认知到开源社群对其服务生态的扩大有非常明显的帮助。

另一方面,微软也不忘在Linux中埋下陷阱,比如说提供Linux系统exFAT档案格式的支持,以及放入多种跟微软既有软件专利相关的代码,当业界习惯这些代码,并成为产品中不可分割的一部份时,微软便可以跳出来收割。
 
举例来说,微软在Android平台上收取的专利费极高,每支手机都需要支付给微软至于12~13美元。如果不是当初微软”拥抱”开源,那么就不可能额外开辟这笔财源。当然,这招是因为是微软才有办法这么玩,一般企业不值得也不应该学习。
 
至于英特尔等硬件厂商贡献Linux源码更不用说,毕竟芯片、硬件厂商需要的就是更广大的平台支持,贡献越多源码,就代表该系统更能配合自家平台,或者是自家的硬件生态,这是必要的”投资”。
 
所以RISC-V可以从Linux开源的历史学到什么经验?芯片厂商彼此竞争,要这些厂商贡献核心源码给开放架构硬件,等于把自己的研发心血送给开源社区,其实多少都会感到抗拒,但开源架构要能够发展,就必须集合众人的力量共享、互利。而如果厂商能看见”分享”之后的长远好处,就不会汲汲营营于短期利益。
 
另一方面,大型企业的共同推动与支持,也是开源架构能否获得发展的重要关键,目前在国际上,一线半导体大厂几乎都已经加入RISC-V的阵营,即便是英特尔、AMD这类拥有自己处理器架构的厂商,也都愿意推动相关生态的发展,而在中国,若厂商愿意放下短暂的私心,从大方向去看开源社区的经营能带来企业或整个产业的好处,这对于推动中国真正的自有架构发展以及相关生态的布局,会有极大的好处。
 
然而自私厂商其实不少。这些厂商的特性是只想在开源社群拿好处却又不想贡献,然而此类厂商最终会反受其害。比如说Android系统,终端厂商通常会就自己在开发时遇到的问题回馈到开发社群中,取得帮助,除了解决自己遇到的问题,也帮助开发社群避免类似的问题,但是当业者不想要分享自己发现的问题或修正的代码时,万一社群成员遇到类似的问题,就必须重新解决一次,然后回馈到代码库中,而Google在每次改版时,通常都会采纳这些修正意见,避免再下一个版本遇到类似问题。
 
而当系统大改版时,采用自己藏私手法的厂商可能会因为修正逻辑不同,导致既有硬件无法完全和新版系统匹配的问题,而必须再动手”修正”一次。不仅增加了维护成本、拖延了更新时间,也造成分裂的问题。
 
为了避免这种分裂越来越多,Google后来也订定了更为严格的代码使用与升级规则。RISC-V虽有更严谨的版本与扩展指令限制,但是否能避免类似的状况?
 
中国在2018年成立了中国RISC-V产业联盟,有数十家RISC-V领域相关企业以及十余家大学和研究机构包括芯原、乐鑫、君正、紫光展锐、兆芯、苏州国芯、地平线等重要IC设计业者加入,目的是希望帮助中国广大的芯片设计业者与周围生态业者开辟一条可以共同遵循的方向。


图片.png
图说:中国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的设计,其余主要还是作为客户,虽会反馈,并不会直接参与设计。


图片.png

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


然而阿里巴巴平头哥虽开源了玄铁910的设计,更多是秀成果、拿功劳,平头哥并没有拿出该IP的试做芯片,也没有具体的数据对比,基本上就是概念架构,然后在这个概念上想像其性能表现,该IP会不会有人用来做芯片,是不是有初步的合作对象,也同样未知。
 
玄铁910像是一个引子,要让更多厂商愿意用,愿意改,愿意反馈,这样才能建立起生态。同时也要让其定制的50多条指令得以进入主线,实现影响力。然而这个作法有点像霸王硬上弓,独力推出概念IP后,就希望业界采纳为标准,也不考虑其是否真有商用落地的价值,若各家厂商都使用这种作法,不论有没有必要,就是定制各自的扩展指令集,期待先抢先赢,在没有产业共识的情况下,就会让RISC-V的生态走向破碎,未来同样的功能在A芯片上用的指令集和B芯片上的就不一样,那么软件就会无所适从。
 
“各取所需”可以说是目前中国产业发展RISC-V的主要态度,反而”开源”所强调的”合作共享”不是重点所在。但别忘了,只有合作共享才能显现出开源架构的真正价值,否则只是在伤害产业而已。
 
另外,RISC-V产业联盟中,晶心和芯原、芯来这三家厂商的角色定位重复,未来要以谁的定制指令为主?如何折冲彼此的利益和技术观点,协调出最有用的一套作法,并使其归于主线,让中国的定制架构能成为主流,并影响整体软硬件生态发展,恐怕未来也都还有不小的努力空间,且这也不是特定联盟的问题,而是整个产业的问题。

关键字:Linux  RISC-V  开源 引用地址:从Linux到RISC-V:合作共享才能显现出开源的真正价值

上一篇:GLOBALFOUNDRIES联合Arm开展3D堆栈芯片开发
下一篇:2019 SiFive北京站研讨会顺利结束,交出满意答卷

推荐阅读最新更新时间:2024-11-01 20:28

S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件系统移植)
我个人觉得nandflash上用yaffs2文件系统是很好的方案,但是最新的Linux并不支持yaffs2文件系统,需要你自己给内核打补丁,不过话说在前面,由于内核间差异及兼容问题,在编译时肯定会出现各种编译问题,需要你一一的去解决。 一、准备工作 1. 下载源码 使用git工具下载:$ git clone git://www.aleph1.co.uk/yaffs2 2. 给内核打补丁 下载完成后,在该执行目录下会有yaffs2文件夹,进入该文件夹。 $ ./patch-ker.sh c m ../../kernel/test/linux-3.14.4 Updating ../../kernel/te
[单片机]
S3C6410嵌入式应用平台构建(六)——<font color='red'>linux</font>-3.14.4移植到OK6410-(Yaffs2文件系统移植)
用NFS服务开发ARM Linux程序的方法介绍
NFS简单配置 NFS是实现两机间进行通讯访问的一种简单方法。在嵌入式Linux实验过程中,我们通过配置NFS实现PC机和实验箱ARM-Linux平台之间的访问。 原理是在PC机Linux中开启LFS服务,设置一个共享目录(这里是/arm2410),所有的源码编辑改动都可以在PC机中进行方便的修改,在ARM-Linux实验环境中,将PC-Linux的/arm2410目录远程mount到本地,实现两机间的同步读写访问,这样程序就可以方便的在ARM-Linux中运行测试。简单说来,目的就是设置一个共享目录,在PC-Linux中进行编辑,在ARM-Linux中进行运行调试。 配置过程:(默认NFS都已经进行安装,PC-Linux的
[单片机]
linux下x264库ARM交叉编译
一、准备工作 1、x264库源码下载地址:http://www.videolan.org/develope rs /x264.html 作者目前的版本是x264-snapshot-20160511-2245 2、编译器arm-none-Linux-gnueabi-gcc 二、编译步骤 1、解压安装包 tar -xzvf last_x264.tar.bz2 cd x264-snapshot-20160511-2245 2、修改配置文件 ./configure --disbale-asm 注意:这里加了--disable-asm选项是因为arm-none-linux-gnuabi工具链是没有汇编器,所以禁止此选
[单片机]
ADI眼睛里的自由与开源软件
Analog Devices 公司(美国模拟器件公司),面向嵌入式系统开发者的Blackfin CPU 和一系列输入输出设备制造商,拿出了一份意在帮助客户了解自由与开源软件(FOSS)的白皮书。尽管它采用的是针对ADI设备的例子,对许多努力试手 FOSS的嵌入式开发者可能会很有用。“嵌入式市场FOSS的流行是被简单的经济驱动所左右的--因为它降低了软件成本,加速了产品的市场化。 它把‘从零 做起’式的开发者变作了一个系统级的集成者,让其致力于添加功能,异化特性,以形成自己的产品,而不是一再地重筑同样的基础构架。这是唯一被证明可行的能 跳出失控的软件开发开销之怪圈的开发方法。
[嵌入式]
专家解读:中国芯应走第三条路?RISC-V架构成自研关键
“中国芯应走第三条路 。”8月24日,倪光南院士在2022 RISC-V中国峰会致辞中表示:目前,主流CPU市场仍被X86、ARM架构垄断,但新兴的开源指令集RISC-V将为我国芯片产业发展提供新机遇,如果抓住机会,就有可能在CPU核心技术上掌握主动权。 诞生于2010年的RISC-V,是一个基于精简指令集(RISC)原则的开源架构,是ARM和x86架构之外规模最大的CPU架构,同时也是国内自主研发芯片的主攻架构之一。 在地缘政治影响全球经济的当下,芯片自主重要性不言而喻。本月,美国总统拜登本正式签署了《芯片与科学法案2022》undefined其中明确规定获得美方补助的企业十年内不得与中国或其他令美国担忧的国家进行任何重
[半导体设计/制造]
英特尔:中国云计算成功支柱是政府支持与开源技术
英特尔信息技术峰会,北京,2012年4月11日—“因需而动 创新而动” 2012英特尔开放云计算策略发布会于昨日在北京国家会议中心召开。 “中国正处在互联网和云计算一个爆炸式增长的前期,而且中国在云计算上和美国等西方国家是齐头并进的。” 在今天于北京举办的2012年英特尔开放云计算策略发布会上,英特尔亚太研发有限公司总经理兼软件与服务事业部中国区总经理何京翔在谈到中国云计算产业发展状况和前景时非常乐观,他指出支持这一观点的支柱有两个,一是“中国政府对云计算的推动力非常强”,另一个则是“在开源软件方面,中国拥有很多优势。” “目前中国政府对于云计算的支持和主导是非常有力的,这从去年推出北京、深圳、上海、无锡、杭州五个城市的
[网络通信]
S3C6410(Real6410) Linux 6x6矩阵键盘驱动移植
Real6410默认的键盘驱动是gpio键盘驱动,现在要取消gpio键盘,实现矩阵键盘。6410的矩阵键盘驱动对应的是samsung-keypad.c,位于driver/input/keyboard目录,可按照下面步骤进行移植。 1、 在arch/arm/mach-s3c64xx/mach-real6410.c中签加 添加头文件: #include plat/keypad.h 添加struct定义 static uint32_t smdk6410_keymap __initdata = { /* KEY(row, col, keycode) */ /*S00(0,0), S01(0,1),
[单片机]
小广播
最新半导体设计/制造文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 市场动态 半导体生产 材料技术 封装测试 工艺设备 光伏产业 平板显示 EDA与IP 电子制造 视频教程

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved