查看原文
其他

科技巨头欲转向开源架构 RISC-V,因 ARM 授权费用太贵

2018-05-04

作者 铁流


来源及作者:雷锋网


不久前,特斯拉加入 RISC-V 基金会,并考虑在新款芯片中使用免费的 RISC-V 设计。至此,已有 IBM、NXP、西部数据、英伟达、高通、三星、谷歌、华为等 100 多家科技公司加入 RISC-V 阵营。


出现这种现象的原因一方面是因为 ARM 的授权费用实在太贵了,另一方面也是因为 RISC-V 提供指令集彻底开放,非常有希望成为 CPU 领域的 Linux。正是因为看好 RISC-V 的未来,不少科技巨头在 RISC-V 还是潜力股的时候趁早下注。



RISC-V 的诞生


在 2010 年,加州大学伯克利分校的一个研究团队正在准备启动一个新项目,而要设计 CPU,必然要选择一种指令集,然而,X86 指令集被英特尔控制的死死的,ARM 的指令集授权费又非常贵,MIPS、SPARC、PowerPC 也存在知识产权问题。


在这种情况下,伯克利的研究团队决定从零开始设计一套全新的指令集。且这款新指令集要能满足从微控制器到超级计算机等各种尺寸的处理器。 正如行业内常说的,设计一套指令集并非黑科技,用这套指令集去实现 CPU 才是真正具有含金量的工作。伯克利的研究团队直用了 3 个月就完成了 RISC-V 的指令集开发,并公开发布了第一版指令集。


该指令集的第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。如果用户需要的话,也可以根据自己的需求自定义新指令。


这样一来,这套指令集兼具精简和灵活两大特点。随后,伯克利的研究团队将这个新指令集命名为 RISC-V,RISC 指的是精简指令集的意思,V 是罗马字母,代表第五代的意思。因为伯克利分校的 David Patterson 教授在此之前已经研制了四代处理器芯片。


更关键的是,伯克利研究团队将 RISC-V 指令集彻底开放,使用 BSD License 开源协议,这就使 RISC-V 不像 ARM、PowerPC 等指令集那样需要付费授权才能使用。而且 BSD 开源协议给予使用者很大自由,允许使用者修改和重新发布开源代码,也允许基于开源代码开发商业软件发布和销售。


怎么说呢,像Linux 的 GPL 协议,就限制了商业公司的行为。而 BSD 开源协议则不同,苹果的 iOS 就基于 BSD 内核,但使用开源软件之后,因为 BSD 开源协议给了苹果很大的自由度,苹果依旧可以将 iOS 闭源并在商业市场赚钱。


对于大学和科研院所等学术机构来说,RISC-V 也是非常有价值的。中科院计算所包云岗研究员团队在做一个项目时,最初选择了 SUN 的 Open Sparc T1,然而这款处理器的社区活跃度和软件支持都不行,而且独立性比较差。然后又选择了 Micro Blaze,然而这款处理器却不开源。最后把目光转向了 RISC-V,并完成了科研项目。相关技术成果被华为用在海思的 ARM 服务器 CPU 上。


正是因为 RISC-V 选择了对商业公司非常友好的 BSD 开源协议,以及 RISC-V 兼具精简和灵活等优点,众多商业公司纷纷关注 RISC-V。



RV12 RISC-V 处理器


RISC-V 有望复制 Linux 的成功


目前,在 CPU 上,X86 和 ARM 是两大霸主。然而这两位霸主都非常霸道,英特尔根本不允许除 AMD和 VIA 之外的任何一家公司使用 X86 指令集,而且一旦 AMD 被收购,X86 指令集授权都要重新谈判。即便是全美达想通过翻译打插边球,结果也被英特尔用专利诉讼拖死了。


类似的,ARM 虽然比英特尔好一些,但也仅仅是好一些而已。在指令集授权上也非常吝啬,获得 ARM32 授权的公司一只手都能数的过来,ARM64 授权虽然多一些,但授权费却异常昂贵,法国芯片创业公司Greenwave 表示,他们如果使用 ARM 架构,要花掉 1500 万美元的授权费。而且授权到期后,是否继续授权和授权费用都要重新谈判。


正是因为 X86 和 ARM 在授权上异常苛刻,很多大公司都对英特尔和 ARM 非常不满,而这恰恰给了 RISC-V 这样的后起之秀机会。包括谷歌、华为、IBM、镁光、英伟达、高通、三星、西部数据等商业公司,以及加州大学伯克利分校、麻省理工学院、普林斯顿大学、ETH Zurich、印度理工学院、洛伦兹国家实验室、新加坡南洋理工大学以及中科院计算所等学术机构纷纷加盟 RISC-V。在 2017 年 11 月召开的第 7 届 RISC-V Workshop 上,全球共有 138 个公司、35 所大学与研究机构参会。


除了商业公司和学术机构之外,印度政府更是对 RISC-V 情有独钟。在 2011 年,印度开始实施处理器战略计划,在全国范围资助 2-3 个研制处理器的项目。印度理工学院马德拉斯分校的 G. S. Madhusudan 与 V. Kamakoti 教授在该计划支持下启动了 SHAKTI 处理器项目。SHAKTI 项目就选择了 RISC-V,并获得印度政府超过 9000 万美元的经费支持。


在 2016 年,印度先进计算发展中心获得印度电子信息技术部 4500 万美元的资助,目标研制一款基于 RISC-V 指令集的 2GHz 四核处理器。


在过去数年中,印度政府资助的处理器相关项目都开始向 RISC-V 靠拢,RISC-V 成为了印度的事实国家指令集。


目前,伯克利研究团队已经完成了基于 RISC-V 指令集的顺序执行的 64 位处理器核心(代号为 Rocket),并前后基于 45nm 与 28nm 工艺进行了 12 次流片。Rocket 芯片主频大于 1GHz,与 ARM Cortex-A5 相比,实测性能较之高 10%,面积效率高 49%,单位频率动态功耗仅为 Cortex-A5 的 43%。在嵌入式领域,Rocket 已经可以和 ARM 争市场了。


正是因此,西部数据声明,每年将使用 10 亿个 RISC-V 核;英伟达也宣布,将把 RISC-V 用于 GPU 内部的控制器。美国 DARPA 也资助一些公司基于 RISC-V 设计航天器的宇航芯片;还有众多商业公司计划基于 RISC-V 开发面向 IoT 的智能芯片,面向安全的芯片,以及服务器上的主板管理控制器等。在软件生态方面,也逐步在完善,比如调试工具链、中断控制器、JVM、LLVM、Python 等开发者常用的软件工具都在完善之中。


正是依靠开源和免费,全世界的商业公司、学术机构都可以开发兼容 RISC-V 指令集的处理器,而且不需要支付一分钱的费用。这使 RISC-V 有望被全球的开发者广泛应用,并复制 Linux 的奇迹。何况 RISC-V 的 BSD 开源协议,比 GPL 协议对商业公司更加友好,使商业公司有很强的动力去推动这件事。


结语


诚然,依靠开源和免费,RISC-V 非常受大学和科研院所青睐,并有望在教学领域大展拳脚,而这又会给 RISC-V 培养源源不断的后备军。对于商业公司来说,由于 ARM 的授权费实在是太贵了,也有较强的动力去做 RISC-V,给自己留一个备份,避免被绑死在 ARM 上。


不过,RISC-V 也存在一个隐忧,那就是缺乏强有力的主导者,进而导致破碎化的问题。当年的MIPS其实也非常学院派,MIPS 阵营的商业公司可以自由添加指令,比如龙芯就以 MIPS 为基础添加了 1000 多条新指令,进而形成了自己的指令集 LoongISA。这又使开发软件的时候,即便同样属于 MIPS,也必须分为龙芯版和 MIPS 版……


由于 RISC-V 也允许用户自己加新指令,这就有可能使 RISC-V 破碎化,也许未来华为、高通、谷歌开发出的 RISC-V 处理器虽然都属于 RISC-V,但却不能跑同样一套软件。


毕竟完全开放与有力的领导是一对矛盾,如果无法解决这个问题,恐怕 RISC-V 很难成长到能与 X86 和ARM 争雄的水平。




推荐阅读

谷歌终于开放 ".app" 顶级域名注册

可以抛弃 Python 了?Google 开源 Swift for TensorFlow 意味着什么

宣布 Java 8 停止维护后,Oracle 又毙掉了 JavaOne

期待已久的 Ubuntu 18.04 LTS 终于正式发布

图文详解 Java 字节码,想不懂都难

点击“阅读原文”查看更多精彩内容

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存