无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 11050|回复: 53
打印 上一主题 下一主题

整理有关 RISC-V 的资料

    [复制链接]
跳转到指定楼层
1#
发表于 2019-4-12 11:32:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 不点 于 2019-4-12 12:02 编辑

先贴一篇文章:《终于有人把 RISC-V 讲明白了》

邓佳佳 发表于 2018-03-27 http://m.elecfans.com/article/653167.html

0、 RISC-V 和其他开放架构有何不同

如果仅从“免费”或“开放”这两点来评判,RISC-V 架构并不是第一个做到免费或开放的处理器架构。

在开始之前,我们先通过论述几个具有代表性的开放架构,来分析 RISC-V 架构的不同之处以及为什么其他开放架构没能取得足够的成功。

0.1 平民英雄——OpenRISC

OpenRISC 是 OpenCores 组织提供的基于 GPL 协议的开放源代码 RISC 处理器,具有以下特点:

    采用免费开放的 32/64 位 RISC 架构。
    用 Verilog HDL(硬件描述语言)实现了基于该架构的处理器源代码。
    具有完整的工具链。

OpenRISC 被应用到很多公司的项目之中。可以说,OpenRISC 是应用非常广泛的一种开源处理器实现。
OpenRISC 的不足之处在于其侧重于实现一种开源的 CPU Core,而非立足于定义一种开放的指令集架构,因此其架构的发展不够完整,指令集的定义也不具备上节中提到的 RISC-V 架构的优点,更加没有上升到成立专门的基金会组织的高度。OpenRISC 更多的时候被认为是一个开源的 Core,而非一种优美的指令集架构。此外,OpenRISC 的许可证为 GPL,这意味着所有的指令集改动都必须开源(而 RISC-V 则无此约束)。


0.2 豪门显贵——SPARC

SPARC 架构作为经典的 RISC 微处理器架构之一,SPARC 最早于 1985 年由 Sun 电脑所设计。SPARC 也是 SPARC 国际公司的注册商标之一,这家公司于 1989 年成立,目的是向外界推广 SPARC 架构以及为该架构进行兼容性测试。为了推广 SPARC 的生态系统,SPARC 国际公司将标准开放,并授权多家生产商采用,包括德州仪器、Cypress 半导体和富士通等。由于 SPARC 架构也对外完全开放,因此,也出现了完全开放源码的 LEON 处理器。不仅如此,Sun 公司还于 1994 年推动 SPARC v8 架构成为 IEEE 标准(IEEE Standard 1754-1994)。

由于 SPARC 架构的初衷是面向服务器领域而设计,其最大的特点是拥有一个大型的寄存器窗口,符合 SPARC 架构的处理器需要实现从 72 到 640 个之多的通用寄存器,每个寄存器宽度为 64 bits,组成一系列的寄存器组,称之为寄存器窗口。

这种寄存器窗口的架构,由于可以切换不同的寄存器组快速地响应函数调用与返回,因此,能够产生非常高的性能,但是这种架构由于功耗面积代价太大,而并不适用于 PC 与嵌入式领域处理器。而 SPARC 架构也不具备模块化的特点,使得用户无法裁剪和选择。很难作为一种通用的处理器架构对商用的 x86 和 ARM 架构形成替代。

设计这种超大服务器 CPU 芯片又非普通公司与个人所能涉足,而有能力设计这种大型 CPU 的公司也没有必要投入巨大的成本来挑战 x86 的统治地位。随着 Sun 公司的衰弱,SPARC 架构现在基本上退出了人们的视野。感兴趣的读者请在网络上自行搜索文章《再见 SPARC 处理器,再见 Sun》。


0.3 名校优生——RISC-V

关于 RISC-V 在伯克利大学诞生的经历,本节在此不做重复赘述。

因为多年来在 CPU 领域已经出现过多个免费或开放的架构,很多高校也在科研项目中推出过多种指令集架构。因此,当笔者第一次听说 RISC-V 之时,以为又是一个玩具,或纯粹学术性质的科研项目而不以为意。

直到笔者亲自通读了一遍 RISC-V 的架构文档,不禁为其先进的设计理念所折服。同时,RISC-V 架构的各种优点也得到了众多专业人士的青睐好评和众多商业公司的相继加盟。并且 2016 年 RISC-V 基金会的正式启动在业界引起了不小的影响。如此种种,使得 RISC-V 成为至今为止最具备革命性意义的开放处理器架构。

1、简单就是美——RISC-V 架构的设计哲学

RISC-V 架构作为一种指令集架构,在介绍细节之前,让我们先了解设计的哲学。所谓设计的“哲学”便是其推崇的一种策略,譬如说我们熟知的日本车的设计哲学是经济省油,美国车的设计哲学是霸气外露等。RISC-V 架构的设计哲学是什么呢?是“大道至简”。

笔者最为推崇的一种设计原则便是:简单就是美,简单便意味着可靠。无数的实际案例已经佐证了“简单即意味着可靠的”真理,反之越复杂的机器则越容易出错。

所谓大道至简,在 IC 设计的实际工作中,笔者曾见过最简洁的设计实现安全可靠,也曾见过最繁复的设计长时间无法稳定收敛。最简洁的设计往往是最可靠的,在大多数的项目实践中一次次的得到检验。

IC 设计的工作性质非常特殊,其最终的产出是芯片,而一款芯片的设计和制造周期均很长,无法像软件代码那样轻易升级和打补丁,每一次芯片的改版到交付都需要几个月的周期。不仅如此,芯片的一次制造成本费用高昂,从几十万美金到百千万美金不等。这些特性都决定了 IC 设计的试错成本极为高昂,因此能够有效的降低错误的发生就显得非常重要。

现代的芯片设计规模越来越大,复杂度越来越高,并不是说要求设计者一味的逃避使用复杂的技术,而是应该将好钢用在刀刃上,将最复杂的设计用在最为关键的场景,在大多数有选择的情况下,尽量选择简洁的实现方案。

笔者在第一次阅读了 RISC-V 架构文档之时,不禁击节赞叹,拍案惊奇,因为 RISC-V 架构在其文档中不断地明确强调,其设计哲学是“大道至简”,力图通过架构的定义使得硬件的实现足够简单。其简单就是美的哲学,可以从几个方面容易看出,后续小节将一一加以论述。


1.1 无病一身轻——架构的篇幅

在处理器领域,目前主流的架构为 x86 与 ARM 架构,笔者曾经参与设计 ARM 架构的应用处理器,因此需要阅读 ARM 的架构文档,如果对其熟悉的读者应该了解其篇幅。经过几十年的发展,现代的 x86 与 ARM 架构的架构文档长达几百数千页。打印出来能有半个桌子高,可真是“著作等身”。

之所以现代 x86 与 ARM 架构的文档长达数千页,且版本众多,一个主要的原因是因为其架构的发展过程也伴随了现代处理器架构技术的不断发展成熟。

并且作为商用的架构,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,或者在定义新的架构部分时为了能够将就已经存在的技术部分而显得非常的别扭。久而久之就变得极为冗长。

那么现代成熟的架构是否能够选择重新开始,重新定义一个简洁的架构呢,可以说是几乎不可能。其中一个重要的原因便是其无法向前兼容,从而无法得到用户的接受。试想一下如果我们买了一款搭配新处理器的电脑或者手机回家,之前所有的软件都无法运行而变砖,那肯定是无法让人接受的。

而现在才推出的 RISC-V 架构,则具备了后发优势,由于计算机体系结构经过多年的发展已经成为比较成熟的技术,多年来在不断成熟的过程中暴露的问题都已经被研究透彻,因此新的 RISC-V 架构能够加以规避,并且没有背负向后兼容的历史包袱,可以说是无病一身轻。

目前的“RISC-V 架构文档”分为“指令集文档”(riscv-spec-v2.2.pdf)和“特权架构文档”(riscv-privileged-v1.10.pdf)。“指令集文档”的篇幅为 145 页,而“特权架构文档”的篇幅也仅为 91 页。熟悉体系结构的工程师仅需一至两天便可将其通读,虽然“RISC-V 的架构文档”还在不断地丰富,但是相比“x86 的架构文档”与“ARM 的架构文档”,RISC-V 的篇幅可以说是极其短小精悍。

感兴趣的读者可以在 RISC-V 基金会的网站上(https://riscv.org/specifications/)无需注册便可免费下载其文档,如图 1 所示。

(图略)
图1 RISC-V 基金会网站上的架构文档


1.2 能屈能伸——模块化的指令集

RISC-V 架构相比其他成熟的商业架构的最大一个不同还在于它是一个模块化的架构。因此,RISC-V 架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用。

这种模块化是 x86 与 ARM 架构所不具备的。以 ARM 的架构为例,ARM 的架构分为 A、R 和 M 三个系列,分别针对 Application(应用操作系统)、Real-Time(实时)和 Embedded(嵌入式)三个领域,彼此之间并不兼容。

但是模块化的 RISC-V 架构能够让用户灵活选择不同的模块组合,以满足不同的应用场景,可以说是“老少咸宜”。譬如针对小面积低功耗嵌入式场景,用户可以选择 RV32IC 组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如 RV32IMFDC 的指令集,使用Machine Mode(机器模式)与 User Mode(用户模式)两种模式。而他们共同的部分则可以相互兼容。


1.3 浓缩的都是精华——指令的数量

短小精悍的架构以及模块化的哲学,使得 RISC-V 架构的指令数目非常的简洁。基本的 RISC-V 指令数目仅有 40 多条,加上其他的模块化扩展指令总共几十条指令。

2、RISC-V 指令集架构简介

本章简要介绍 RISC-V 指令集架构诸多特性。

2.1 模块化的指令子集

RISC-V 的指令集使用模块化的方式进行组织,每一个模块使用一个英文字母来表示。RISC-V 最基本也是唯一强制要求实现的指令集部分是由I字母表示的基本整数指令子集,使用该整数指令子集,便能够实现完整的软件编译器。其他的指令子集部分均为可选的模块,具有代表性的模块包括 M/A/F/D/C,如表 1 所示。

表1 RISC-V 的模块化指令集

基本指令集
指令数
描述
RV32I
47
32 位地址空间与整数指令,支持 32 个通用整数寄存器
RV32E
47
RV32I 的子集,仅支持 16 个通用整数寄存器
RV64I
59
64 位地址空间与整数指令及一部分 32 位的整数指令
RV128I
71
128 位地址空间与整数指令及一部分 64 位和 32 位指令
扩展指令集
指令数
描述
M
8
整数乘法与除法指令
A
11
存储器原子(Atomic)操作指令和 Load-Reserved/Store-Conditional 指令
F
26
单精度(32 比特)浮点指令
D
26
双精度(64 比特)浮点指令,必须支持 F 扩展指令
C
46
压缩指令,指令长度为 16 位

为了提高代码密度,RISC-V 架构也提供可选的“压缩”指令子集,由英文字母 C 表示。压缩指令的指令编码长度为 16 比特,而普通的非压缩指令的长度为 32 比特。以上这些模块的一个特定组合“IMAFD”,也被称为“通用”组合,由英文字母 G 表示。因此 RV32G 表示 RV32IMAFD,同理 RV64G 表示 RV64IMAFD。

为了进一步减少面积,RISC-V 架构还提供一种“嵌入式”架构,由英文字母 E 表示。该架构主要用于追求极低面积与功耗的深嵌入式场景。该架构仅需要支持 16 个通用整数寄存器,而“非嵌入式”的普通架构则需要支持 32 个通用整数寄存器。

通过以上的模块化指令集,能够选择不同的组合来满足不同的应用。譬如,追求小面积低功耗的嵌入式场景可以选择使用 RV32EC 架构;而大型的 64 位架构则可以选择 RV64G。

除了上述的模块,还有若干的模块包括 L、B、P、V 和 T 等。这些扩展目前大多数还在不断完善和定义中,尚未最终确定,因此本文在此不做详细论述。


2.2 可配置的通用寄存器组

RISC-V 架构支持 32 位或者 64 位的架构,32 位架构由 RV32 表示,其每个通用寄存器的宽度为 32 比特;64 位架构由 RV64表示,其每个通用寄存器的宽度为 64 比特。

RISC-V 架构的整数通用寄存器组,包含 32 个(I 架构)或者 16 个(E 架构)通用整数寄存器,其中整数寄存器 0 被预留为常数 0,其他的 31个(I 架构)或者 15 个(E 架构)为普通的通用整数寄存器。

如果使用了浮点模块(F 或者 D),则需要另外一个独立的浮点寄存器组,包含 32 个通用浮点寄存器。如果仅使用 F 模块的浮点指令子集,则每个通用浮点寄存器的宽度为 32 比特;如果使用了 D 模块的浮点指令子集,则每个通用浮点寄存器的宽度为 64 比特。


2.3 规整的指令编码

在流水线中能够尽早尽快的读取通用寄存器组,往往是处理器流水线设计的期望之一,这样可以提高处理器性能和优化时序。这个看似简单的道理在很多现存的商用 RISC 架构中都难以实现,因为经过多年反复修改不断添加新指令后,其指令编码中的寄存器索引位置变得非常的凌乱,给译码器造成了负担。

得益于后发优势和总结了多年来处理器发展的教训,RISC-V 的指令集编码非常的规整,指令所需的通用寄存器的索引(Index)都被放在固定的位置,如图 2 所示。因此指令译码器(Instruction Decoder)可以非常便捷的译码出寄存器索引然后读取通用寄存器组(Register File,Regfile)。


31        25
24      20
19      15
14     12
11        7
6        0

funct7
rs2
rs1
funct3
rd
opcode
R-type

imm[11:0]
rs1
funct3
rd
opcode
I-type

imm[11:5]
rs2
rs1
funct3
imm[4:0]
opcode
S-type

imm[31:12]
rd
opcode
U-type

图2 RV32I 规整的指令编码格式

2.4 简洁的存储器访问指令

与所有的 RISC 处理器架构一样,RISC-V 架构使用专用的存储器读(Load)指令和存储器写(Store)指令访问存储器(Memory),其他的普通指令无法访问存储器,这种架构是 RISC 架构的常用的一个基本策略,这种策略使得处理器核的硬件设计变得简单。

存储器访问的基本单位是字节(Byte)。RISC-V 的存储器读和存储器写指令支持一个字节(8 位),半字(16 位),单字(32 位)为单位的存储器读写操作,如果是 64 位架构还可以支持一个双字(64 位)为单位的存储器读写操作。

RISC-V 架构的存储器访问指令还有如下显著特点:

    为了提高存储器读写的性能,RISC-V 架构推荐使用地址对齐的存储器读写操作,但是地址非对齐的存储器操作 RISC-V 架构也支持,处理器可以选择用硬件来支持,也可以选择用软件来支持。
    由于现在的主流应用是小端格式(Little-Endian),RISC-V 架构仅支持小端格式。有关小端格式和大端格式的定义和区别,本文在此不做过多介绍,若对此不甚了解的初学者可以自行查阅学习。
    很多的 RISC 处理器都支持地址自增或者自减模式,这种自增或者自减的模式虽然能够提高处理器访问连续存储器地址区间的性能,但是也增加了设计处理器的难度。RISC-V 架构的存储器读和存储器写指令不支持地址自增自减的模式。
    RISC-V 架构采用松散存储器模型(Relaxed Memory Model),松散存储器模型对于访问不同地址的存储器读写指令的执行顺序不作要求,除非使用明确的存储器屏障(Fence)指令加以屏蔽。

这些选择都清楚地反映了 RISC-V 架构力图简化基本指令集,从而简化硬件设计的哲学。RISC-V 架构如此定义非常合理,能屈能伸。譬如:对于低功耗的简单 CPU,可以使用非常简单的硬件电路即可完成设计;而对于追求高性能的超标量处理器则可以通过复杂设计的动态硬件调度能力来提高性能。


2.5 高效的分支跳转指令

RISC-V 架构有两条无条件跳转指令(Unconditional Jump),jal 与 jalr 指令。跳转链接(Jumpand Link)指令 jal 可用于进行子程序调用,同时将子程序返回地址存在链接寄存器(Link Register:由某一个通用整数寄存器担任)中。跳转链接寄存器(Jumpand Link-Register)指令 jalr 指令能够用于子程序返回指令,通过将 jal 指令(跳转进入子程序)保存的链接寄存器用于 jalr 指令的基地址寄存器,则可以从子程序返回。

RISC-V 架构有 6 条带条件跳转指令(Conditional Branch),这种带条件的跳转指令跟普通的运算指令一样直接使用 2 个整数操作数,然后对其进行比较,如果比较的条件满足时,则进行跳转。因此,此类指令将比较与跳转两个操作放到了一条指令里完成。

作为比较,很多的其他 RISC 架构的处理器需要使用两条独立的指令。第一条指令先使用比较指令,比较的结果被保存到状态寄存器之中;第二条指令使用跳转指令,判断前一条指令保存在状态寄存器当中的比较结果为真时则进行跳转。相比而言 RISC-V 的这种带条件跳转指令不仅减少了指令的条数,同时硬件设计上更加简单。

对于没有配备硬件分支预测器的低端 CPU,为了保证其性能,RISC-V 的架构明确要求其采用默认的静态分支预测机制,即:如果是向后跳转的条件跳转指令,则预测为“跳”;如果是向前跳转的条件跳转指令,则预测为“不跳”,并且 RISC-V 架构要求编译器也按照这种默认的静态分支预测机制来编译生成汇编代码,从而让低端的 CPU 也能得到不错的性能。

为了使硬件设计尽量简单,RISC-V 架构特地定义了所有的带条件跳转指令跳转目标的偏移量(相对于当前指令的地址)都是有符号数,并且其符号位被编码在固定的位置。因此,这种静态预测机制在硬件上非常容易实现,硬件译码器可以轻松的找到这个固定的位置,并判断其是 0 还是 1 来判断其是正数还是负数,如果是负数则表示跳转的目标地址为当前地址减去偏移量,也就是向后跳转,则预测为“跳”。当然对于配备有硬件分支预测器的高端 CPU,则可以采用高级的动态分支预测机制来保证性能。


2.6 简洁的子程序调用

为了理解此节,先介绍一般 RISC 架构中程序调用子函数的过程:

    进入子函数之后需要用存储器写(Store)指令来将当前的上下文(通用寄存器等的值)保存到系统存储器的堆栈区内,这个过程通常称为“保存现场”。
    在退出子程序之时,需要用存储器读(Load)指令来将之前保存的上下文(通用寄存器等的值)从系统存储器的堆栈区读出来,这个过程通常称为“恢复现场”。

“保存现场”和“恢复现场”的过程通常由编译器编译生成的指令来完成,使用高层语言(譬如 C 或者 C++)开发的开发者对此可以不用太关心。高层语言的程序中直接写上一个子函数调用即可,但是这个底层发生的“保存现场”和“恢复现场”的过程却是实实在在地发生着(可以从编译出的汇编语言里面看到那些“保存现场”和“恢复现场”的汇编指令),并且还需要消耗若干的 CPU 执行时间。

为了加速这个“保存现场”和“恢复现场”的过程,有的 RISC 架构发明了一次写多个寄存器到存储器中(Store Multiple),或者一次从存储器中读多个寄存器出来(Load Multiple)的指令,此类指令的好处是一条指令就可以完成很多事情,从而减少汇编指令的代码量,节省代码的空间大小。但是此种“Load Multiple”和“Store Multiple”的弊端是会让 CPU 的硬件设计变得复杂,增加硬件的开销,也可能损伤时序使得 CPU 的主频无法提高,笔者在曾经设计此类处理器时便深受其苦。

RISC-V 架构则放弃使用这种“Load Multiple”和“Store Multiple”指令。并解释,如果有的场合比较介意这种“保存现场”和“恢复现场”的指令条数,那么可以使用公用的程序库(专门用于保存和恢复现场)来进行,这样就可以省掉在每个子函数调用的过程中都放置数目不等的“保存现场”和“恢复现场”的指令。

此选择再次印证了 RISC-V 追求硬件简单的哲学,因为放弃“Load Multiple”和“Store Multiple”指令可以大幅简化 CPU 的硬件设计,对于低功耗小面积的 CPU 可以选择非常简单的电路进行实现,而高性能超标量处理器由于硬件动态调度能力很强,可以有强大的分支预测电路保证 CPU 能够快速的跳转执行,从而可以选择使用公用的程序库(专门用于保存和恢复现场)的方式减少代码量,但是同时达到高性能。


2.7 无条件码执行

很多早期的 RISC 架构发明了带条件码的指令,譬如在指令编码的头几位表示的是条件码(Conditional Code),只有该条件码对应的条件为真时,该指令才被真正执行。

这种将条件码编码到指令中的形式可以使得编译器将短小的循环编译成带条件码的指令,而不用编译成分支跳转指令。这样便减少了分支跳转的出现,一方面减少了指令的数目;另一方面也避免了分支跳转带来的性能损失。然而,这种“条件码”指令的弊端同样会使得 CPU 的硬件设计变得复杂,增加硬件的开销,也可能损伤时序使得 CPU 的主频无法提高,笔者在曾经设计此类处理器时便深受其苦。

RISC-V 架构则放弃使用这种带“条件码”指令的方式,对于任何的条件判断都使用普通的带条件分支跳转指令。此选择再次印证了 RISC-V 追求硬件简单的哲学,因为放弃带“条件码”指令的方式可以大幅简化 CPU 的硬件设计,对于低功耗小面积的 CPU 可以选择非常简单的电路进行实现,而高性能超标量处理器由于硬件动态调度能力很强,可以有强大的分支预测电路保证 CPU 能够快速的跳转执行达到高性能。


2.8 无分支延迟槽

很多早期的 RISC 架构均使用了“分支延迟槽(Delay Slot)”,最具有代表性的便是 MIPS 架构,在很多经典的计算机体系结构教材中,均使用 MIPS 对分支延迟槽进行过介绍。分支延迟槽就是指在每一条分支指令后面紧跟的一条或者若干条指令不受分支跳转的影响,不管分支是否跳转,这后面的几条指令都一定会被执行。

早期的 RISC 架构很多采用了分支延迟槽诞生的原因主要是因为当时的处理器流水线比较简单,没有使用高级的硬件动态分支预测器,所以使用分支延迟槽能够取得可观的性能效果。然而,这种分支延迟槽使得 CPU 的硬件设计变得极为的别扭,CPU 设计人员对此往往苦不堪言。

RISC-V 架构则放弃了分支延迟槽,再次印证了 RISC-V 力图简化硬件的哲学,因为现代的高性能处理器的分支预测算法精度已经非常高,可以有强大的分支预测电路保证 CPU 能够准确的预测跳转执行达到高性能。而对于低功耗小面积的 CPU,由于无需支持分支延迟槽,硬件得到极大简化,也能进一步减少功耗和提高时序。


2.9 无零开销硬件循环

很多 RISC 架构还支持零开销硬件循环(Zero Overhead Hardware Loop)指令,其思想是通过硬件的直接参与,通过设置某些循环次数寄存器(Loop Count),然后可以让程序自动地进行循环,每一次循环则 Loop Count 自动减 1,这样持续循环直到 Loop Count 的值变成 0,则退出循环。

之所以提出发明这种硬件协助的零开销循环是因为在软件代码中的 for 循环(for i=0; i ...)

然而有得必有失,此类零开销硬件循环指令大幅地增加了硬件设计的复杂度。因此,零开销循环指令与 RISC-V 架构简化硬件的哲学是完全相反的,在 RISC-V 架构中自然没有使用此类零开销硬件循环指令。


2.10 简洁的运算指令

在本章第 2.1 节中曾经提到 RISC-V 架构使用模块化的方式组织不同的指令子集,最基本的整数指令子集(I 字母表示)支持的运算包括加法、减法、移位、按位逻辑操作和比较操作。这些基本的运算操作能够通过组合或者函数库的方式完成更多的复杂操作(譬如乘除法和浮点操作),从而能够完成大多数的软件操作。

整数乘除法指令子集(M 字母表示)支持的运算包括,有符号或者无符号的乘法和除法操作。乘法操作能够支持两个 32 位的整数相乘得到一个 64 位的结果;除法操作能够支持两个 32 位的整数相除得到一个 32 位的商与 32 位的余数。

单精度浮点指令子集(F 字母表示)与双精度浮点指令子集(D 字母表示)支持的运算包括浮点加减法,乘除法,乘累加,开平方根和比较等操作,同时提供整数与浮点,单精度与双精度浮点彼此之间的格式转换操作。

很多 RISC 架构的处理器在运算指令产生错误之时,譬如上溢(Overflow)、下溢(Underflow)、非规格化浮点数(Subnormal)和除零(Divide by Zero),都会产生软件异常。RISC-V 架构的一个特殊之处是对任何的运算指令错误(包括整数与浮点指令)均不产生异常,而是产生某个特殊的默认值,同时,设置某些状态寄存器的状态位。RISC-V 架构推荐软件通过其他方法来找到这些错误。再次清楚地反映了 RISC-V 架构力图简化基本的指令集,从而简化硬件设计的哲学。


2.11 优雅的压缩指令子集

基本的 RISC-V 基本整数指令子集(字母 I 表示)规定的指令长度均为等长的 32 位,这种等长指令定义使得仅支持整数指令子集的基本 RISC-V CPU 非常容易设计。但是等长的 32 位编码指令也会造成代码体积(Code Size)相对较大的问题。

为了满足某些对于代码体积要求较高的场景(譬如嵌入式领域),RISC-V 定义了一种可选的压缩(Compressed)指令子集,由字母 C 表示,也可以由 RVC 表示。RISC-V 具有后发优势,从一开始便规划了压缩指令,预留了足够的编码空间,16 位长指令与普通的32位长指令可以无缝自由地交织在一起,处理器也没有定义额外的状态。

RISC-V 压缩指令的另外一个特别之处是,16 位指令的压缩策略是将一部分普通最常用的的 32 位指令中的信息进行压缩重排得到(譬如假设一条指令使用了两个同样的操作数索引,则可以省去其中一个索引的编码空间),因此每一条 16 位长的指令都能一一找到其对应的原始 32 位指令。因此,程序编译成为压缩指令仅在汇编器阶段就可以完成,极大的简化了编译器工具链的负担。

RISC-V 架构的研究者进行了详细的代码体积分析,如图 3 所示,通过分析结果可以看出,RV32C 的代码体积相比 RV32 的代码体积减少了百分之四十,并且与 ARM,MIPS 和 x86 等架构相比都有不错的表现。

(图略)
图3 各指令集架构的代码密度比较(数据越小越好)


2.12 特权模式

RISC-V 架构定义了三种工作模式,又称特权模式(Privileged Mode):

    Machine Mode:机器模式,简称 M Mode。
    Supervisor Mode:监督模式,简称 S Mode。
    User Mode:用户模式,简称 U Mode。

RISC-V 架构定义 M Mode 为必选模式,另外两种为可选模式。通过不同的模式组合可以实现不同的系统。

RISC-V 架构也支持几种不同的存储器地址管理机制,包括对于物理地址和虚拟地址的管理机制,使得RISC-V 架构能够支持从简单的嵌入式系统(直接操作物理地址)到复杂的操作系统(直接操作虚拟地址)的各种系统。


2.13 CSR 寄存器

RISC-V 架构定义了一些控制和状态寄存器(Control and Status Register,CSR),用于配置或记录一些运行的状态。CSR 寄存器是处理器核内部的寄存器,使用其自己的地址编码空间,和存储器寻址的地址区间完全无关系。

CSR 寄存器的访问采用专用的 CSR 指令,包括 CSRRW、CSRRS、CSRRC、CSRRWI、CSRRSI 以及 CSRRCI 指令。


2.14 中断和异常

中断和异常机制往往是处理器指令集架构中最为复杂而关键的部分。RISC-V 架构定义了一套相对简单基本的中断和异常机制,但是也允许用户对其进行定制和扩展。

2.15 矢量指令子集

RISC-V 架构目前虽然还没有定型矢量(Vector)指令子集,但是从目前的草案中已经可以看出,RISC-V 矢量指令子集的设计理念非常的先进,由于后发优势及借助矢量架构多年发展成熟的结论,RISC-V 架构将使用可变长度的矢量,而不是矢量定长的 SIMD 指令集(譬如 ARM 的 NEON 和 Intel 的 MMX),从而能够灵活的支持不同的实现。追求低功耗小面积的 CPU 可以选择使用长度较短的硬件矢量进行实现,而高性能的 CPU 则可以选择较长的硬件矢量进行实现,并且同样的软件代码能够彼此兼容。

2.16 自定制指令扩展

除了上述阐述的模块化指令子集的可扩展、可选择,RISC-V 架构还有一个非常重要的特性,那就是支持第三方的扩展。用户可以扩展自己的指令子集,RISC-V 预留了大量的指令编码空间用于用户的自定义扩展,同时,还定义了四条 Custom 指令可供用户直接使用,每条 Custom 指令都有几个比特位的子编码空间预留,因此,用户可以直接使用四条 Custom 指令扩展出几十条自定义的指令。

2.17 总结与比较

处理器设计技术经过几十年的衍进,随着大规模集成电路设计技术的发展直至今天,呈现出如下特点:

    由于高性能处理器的硬件调度能力已经非常强劲且主频很高,因此,硬件设计希望指令集尽可能的规整、简单,从而,使得处理器可以设计出更高的主频与更低的面积。
    以 IoT 应用为主的极低功耗处理器更加苛求低功耗与低面积。
    存储器的资源也比早期的 RISC 处理器更加丰富。

如上种种这些因素,使得很多早期的 RISC 架构设计理念(依据当时技术背景而诞生),时至今日不仅不能帮助现代处理器设计,反而成了负担桎梏。某些早期 RISC 架构定义的特性,一方面使得高性能处理器的硬件设计束手束脚;另一方面又使得极低功耗的处理器硬件设计背负不必要的复杂度。

得益于后发优势,全新的 RISC-V 架构能够规避所有这些已知的负担,同时,利用其先进的设计哲学,设计出一套“现代”的指令集。本节再次将其特点总结如表 2 所示。


表2 RISC-V 指令集架构特点总结

特性
x86 或 ARM 架构
RISC-V
架构篇幅
数千页
少于三百页
模块化
不支持
支持模块化可配置的指令子集
可扩展性
不支持
支持可扩展定制指令
指令数目
指令数繁多,不同的架构分支彼此不兼容
一套指令集支持所有架构。基本指令子集仅 40 余条指令,以此为共有基础,加上其他常用模块子集指令,总指令数也仅几十条
易实现性
硬件实现的复杂度高硬件设计与编译器实现非常简单:
 仅支持小端格式
 存储器访问指令一次只访问一个元素
 去除存储器访问指令的地址自增自减模式
 规整的指令编码格式
 简化的分支跳转指令与静态预测机制
 不使用分支延迟槽(Delay Slot)
 不使用指令条件码(Conditional Code)
 运算指令的结果不产生异常(Exception)
 16 位的压缩指令有其对应的普通 32 位指令
 不使用零开销硬件循环

评分

参与人数 1无忧币 +5 收起 理由
zhczf + 5 很给力!

查看全部评分

2#
发表于 2019-4-12 12:30:10 | 只看该作者
围观一下,目测在嵌入式领域应该能分一杯羹...
回复

使用道具 举报

3#
 楼主| 发表于 2019-4-12 18:15:23 | 只看该作者
本帖最后由 不点 于 2021-4-12 12:06 编辑

中国也成立了 RISC-V 联盟(China RISC-V Alliance),不过,中文名字叫做 “开放指令生态联盟”:

http://crva.io/

在联盟的下载页,给出了 RISC-V 手册的中文版:

http://crva.ict.ac.cn/documents/RISC-V-Reader-Chinese-v2p1.pdf

目前联盟成员有以下单位和个人:

一、指导单位

中央网信办信息化发展局

工信部信息化和软件服务业司

中科院科技促进发展局


二、咨询委员会专家(按拼音序,下同)

方之熙(RISC-V基金会中国顾问委员会主席)

卢  山(中国电子信息产业发展研究院院长)

孙凝晖(中国科学院计算技术研究所所长)

涂  强(长虹北美研发中心总经理)

严晓浪(浙江大学教授)

叶甜春(中国科学院微电子所所长)


三、依托单位

理事长(单位):  倪光南院士(中国科学院计算技术研究所)

常务副理事长单位:中国电子信息产业发展研究院


四、副理事长单位

北京百度网讯科技有限公司

北京大学

北京紫光展锐科技有限公司

杭州中天微系统有限公司

华为技术有限公司

清华大学

四川长虹电器股份有限公司

腾讯科技股份有限公司

中国科学院微电子研究所

五、常务理事单位

鹏城实验室

睿思芯科(深圳)技术有限公司

上海交通大学

西安中科创星科技孵化器有限公司

中科创达软件股份有限公司

中国科学院上海微系统与信息技术研究所

致象尔微电子科技(上海)有限公司


六、单位会员

北京达沃时代科技股份有限公司(2021年4月12日发现新增此会员)

北京浩鎰精微科技有限公司(2021年4月12日发现新增此会员)

北京兆易创新科技股份有限公司(2021年4月12日发现新增此会员)

北京中电兴发科技有限公司(2021年4月12日发现新增此会员)

北京中科睿芯科技有限公司(2021年4月12日发现新增此会员)

大连理工大学(2021年4月12日发现新增此会员)

国家超级计算深圳中心

核芯互联(北京)科技有限公司(2021年4月12日发现新增此会员)

湖南卡姆派乐信息科技有限公司(2021年4月12日发现新增此会员)

华米(北京)信息科技有限公司

江苏金羿智芯科技有限公司

浪潮电子信息产业股份有限公司

南京大学计算机科学与技术系(2021年4月12日发现新增此会员)

宁波中国科学院信息技术应用研究院

澎峰(北京)科技有限公司

青岛本原微电子有限公司

人民邮电出版社有限公司

上海瓶钵信息科技有限公司(2021年4月12日发现新增此会员)

深圳优矽科技有限公司(2021年4月12日发现新增此会员)

苏州国芯科技有限公司

天博电子信息科技有限公司

潍柴动力股份有限公司(2021年4月12日发现新增此会员)

武汉晟联智融微电子科技有限公司(2021年4月12日发现新增此会员)

芯来科技(武汉)有限公司

中国电力科学研究院有限公司(2021年4月12日发现新增此会员)

中国科学技术大学

中国科学院软件研究所(2021年4月12日发现新增此会员)

中科淮北产业技术研究院(2021年4月12日发现新增此会员)

珠海全志科技股份有限公司

珠海市杰理科技股份有限公司(2021年4月12日发现新增此会员)


七、个人会员

陈铁军

宫晓利

郝沁汾

李诚

刘国旗

宋威

孙浩

魏继增

许冠斌

严智

周平强


八、秘书处

设于中国科学院计算技术研究所

秘书长:包云岗

成  员:张科、唐丹、常轶松、王卅、解壁伟、赵然


九、联系方式

地址:北京市海淀区中关村科学院南路6号,邮编:100190

中国科学院计算技术研究所

电话:010-62601013/62601015    邮箱:info@crva.io

回复

使用道具 举报

4#
发表于 2019-4-15 21:36:16 | 只看该作者
这个开源的rsicv看起来比较有趣啊,或许未来真正的开源硬件cpu很可能会以此为设计基础了。。。

点评

我关注这个指令集设计,也是在为编程语言设计打下哲学铺垫。 目前总觉得编程语言欠缺点啥东西,但又说不清究竟欠缺啥。 从这个 risc-v 的设计哲学中,我好像隐隐约约有那么点思路了。 初步设想,一个编程语  详情 回复 发表于 2019-4-16 10:40
回复

使用道具 举报

5#
 楼主| 发表于 2019-4-16 10:40:40 | 只看该作者
gnuxwy 发表于 2019-4-15 21:36
这个开源的rsicv看起来比较有趣啊,或许未来真正的开源硬件cpu很可能会以此为设计基础了。。。

我关注这个指令集设计,也是在为编程语言设计打下哲学铺垫。

目前总觉得编程语言欠缺点啥东西,但又说不清究竟欠缺啥。

从这个 risc-v 的设计哲学中,我好像隐隐约约有那么点思路了。

初步设想,一个编程语言,应该做到如下几点:

1、简单。去掉复杂的功能。risc-v 的核心部分,连乘除法运算都去掉了,可谓大胆。我们往往是因为不够大胆、不敢否定,才失去创造力的。设想这个新的语言,在核心部分,也要去掉复杂的东西,比如,不支持 “面向对象”,只支持普通 C 的 struct 以及函数操作。

2、即时编译。语言应该像 BASIC 语言那样,一句一句的。BASIC 是解释式的,效率低。我们把它改成即时编译,就像 cling 那样。

3、语言同时涵盖 shell 的功能。就是说,语言一开始就是一个最简单的 shell,能够敲入 shell 命令(仅仅执行外部命令而已)。然后逐步增加其它特性,比如数据类型、控制转移结构、函数调用,等等。

4、语言能够用来编写机器指令,就是说,同时具有汇编语言的功能。

5、扩展性。将来可以扩展出其它特性,比如面向对象。

如果这几条做到了,那就是个十分强大的语言了。

点评

怎么感觉和c没什么太大区别了啊 c的功能以及够简单了,而且是编译式的。语言通过库函数就可以直接调用shell(非语言自身支持,稍微麻烦点),可以直接用指针等操作硬件,具有大部分汇编功能,不支持的也可以内嵌  详情 回复 发表于 2019-4-16 12:48
回复

使用道具 举报

6#
发表于 2019-4-16 12:48:24 | 只看该作者
不点 发表于 2019-4-16 10:40
我关注这个指令集设计,也是在为编程语言设计打下哲学铺垫。

目前总觉得编程语言欠缺点啥东西,但又说 ...

怎么感觉和c没什么太大区别了啊

c的功能以及够简单了,而且是编译式的。语言通过库函数就可以直接调用shell(非语言自身支持,稍微麻烦点),可以直接用指针等操作硬件,具有大部分汇编功能,不支持的也可以内嵌汇编。上层语言也可以轻易扩展,比如有部分c++编译器就是把c++编译成c语言的

点评

C 有很多优点,所以,是一个重要的参考。许多操作系统都是用 C 写成的。C 的通用性强。操作系统有很多 C 的 lib。 但 C 也有缺点。C 的编译器太大。C 的规范也不够简练。 C 是编译式的语言,但却不是交互式的  详情 回复 发表于 2019-4-16 15:15
回复

使用道具 举报

7#
 楼主| 发表于 2019-4-16 15:15:07 | 只看该作者
2013olly 发表于 2019-4-16 12:48
怎么感觉和c没什么太大区别了啊

c的功能以及够简单了,而且是编译式的。语言通过库函数就可以直接调用 ...

C 有很多优点,所以,是一个重要的参考。许多操作系统都是用 C 写成的。C 的通用性强。操作系统有很多 C 的 lib。

但 C 也有缺点。C 的编译器太大。C 的规范也不够简练。

C 是编译式的语言,但却不是交互式的。cling 是交互式的,而且能即时编译,但 cling 太庞大了。庞大就表明复杂。复杂就不符合 “简单就是美、简单才安全”的哲学。

前一帖解释了,我从 risc-v 的设计哲学中,学到了胆量——就是敢于提出疑问、敢于否定的胆量。

当然,也不是说全都否定。本来也就不可能全盘否定。最后是个权衡:权衡出哪些需要肯定,哪些需要否定,就差不多了。

点评

那我觉得可以看看c的早期版本,比如c89,c99之类,看看哪个版本比较精简,没那么复杂。再进行fork 早期的代码读起来应该比较容易些  详情 回复 发表于 2019-4-16 16:09
回复

使用道具 举报

8#
发表于 2019-4-16 16:09:32 | 只看该作者
不点 发表于 2019-4-16 15:15
C 有很多优点,所以,是一个重要的参考。许多操作系统都是用 C 写成的。C 的通用性强。操作系统有很多 C  ...

那我觉得可以看看c的早期版本,比如c89,c99之类,看看哪个版本比较精简,没那么复杂。再进行fork
早期的代码读起来应该比较容易些

点评

对的,这也是个思路。但去年我改造 cling 的时候,对 C 语言的复杂,就有点后怕了。当然,我可能是受到 C++ 复杂性的影响了。记得编译 cling 就要花费 4 个小时以上,而且内存得有 2G 才行。这显然太复杂、太庞大。  详情 回复 发表于 2019-4-16 16:37
回复

使用道具 举报

9#
 楼主| 发表于 2019-4-16 16:37:38 | 只看该作者
2013olly 发表于 2019-4-16 16:09
那我觉得可以看看c的早期版本,比如c89,c99之类,看看哪个版本比较精简,没那么复杂。再进行fork
早期 ...

对的,这也是个思路。但去年我改造 cling 的时候,对 C 语言的复杂,就有点后怕了。当然,我可能是受到 C++ 复杂性的影响了。记得编译 cling 就要花费 4 个小时以上,而且内存得有 2G 才行。这显然太复杂、太庞大。

从早期版本入手,或许是一个思路。确实也应该有人往这方面去探索。另外,早期的 Linux  可能也比较精简,里面的后门可以认为是不存在的。但是,早期的 Linux 可能只支持 x86,不支持 ARM 等其它架构,这也是个问题,这都需要权衡。所以,我能理解,为什么有人从头开发 minix、redox 等新操作系统。

同样,设计和实现一种新语言,也并不特别让人难以接受。每年似乎都有新语言出现。所以,我隐隐约约觉得,可能需要设计新语言了,说不定这样做来得更自然一些,工作量也可能更少一些。总之,思路有很多,权衡也有很多。不同的思路、不同的权衡、不同的判断、不同的决定,都是对的。

点评

个人还是感觉开发新操作系统,必然会对“兼容性”造成影响,旧的软件未经修改很难直接用于新的系统,尤其是那些闭源的应用软件。 早期系统,至少拥有不少可用的软件和工具(尽管可能是比较老的版本)添加内核功能  详情 回复 发表于 2019-4-29 11:27
回复

使用道具 举报

10#
发表于 2019-4-29 11:27:17 | 只看该作者
不点 发表于 2019-4-16 16:37
对的,这也是个思路。但去年我改造 cling 的时候,对 C 语言的复杂,就有点后怕了。当然,我可能是受到 C ...

个人还是感觉开发新操作系统,必然会对“兼容性”造成影响,旧的软件未经修改很难直接用于新的系统,尤其是那些闭源的应用软件。

早期系统,至少拥有不少可用的软件和工具(尽管可能是比较老的版本)添加内核功能相比修改大量应用软件来说,工作量还是要小得多。如果内核的新功能确信没有副作用,移植到之前的版本也比移植到一个新的系统要来得容易。
回复

使用道具 举报

11#
 楼主| 发表于 2019-10-26 09:14:29 | 只看该作者
世界互联网大会
中国工程院院士称
要推动开源 RISC-V 成主流
http://baijiahao.baidu.com/s?id=1648061949297642564&wfr=spider&for=pc
太平洋电脑网  2019-10-22  广东太平洋互联网信息服务有限公司

正在乌镇举行的第六届世界互联网大会上,中国工程院院士、中国开放指令生态(RISC-V)联盟(CRVA)理事长倪光南发表演讲称,要推动开源的 RISC-V 成主流。

倪光南表示,从世界的角度来看,两类架构的 CPU 已经占据市场。第一代是 X86,英特尔和 AMD 两家公司掌握,在服务器等领域占有垄断地位;第二个是 ARM,在移动领域有垄断的地位。不过他强调,X86 架构是垄断的,ARM 架构的授权费用又很高 ,“海思和国防科技大学买到的 ARM 终身架构授权需要花费很高,钱花的比较多。”

作为中国开放指令生态(RISC-V)联盟(CRVA)理事长,倪光南表示要加强联盟的工作,避免碎片化,形成良性循环。“我们要迅速的培养基于 RISC-V 的新型开放生态,不要做历史包袱很重的 ARMX86。”

对于 RISC-V 生态,目前阿里已经有所行动,今年 7 月份平头哥正式发布玄铁 910,这也是目前业界最强RISC-V 处理器(单核性能达到 7.1 Coremark/MHz,主频达到 2.5 GHz)。据介绍,玄铁 910 可以用于设计制造高性能端上芯片,应用于 5G、人工智能以及自动驾驶等领域。

另外,华为之前也表示,对 RISC-V 开发很有兴趣,而他们还是这个基金会的成员。

以 RISC-V 现在的发展速度,2 年后就要跟高通、苹果、三星、联发科等 ARM 公司抢智能手机处理器市场了,还有可能威胁低功耗笔记本处理器。5 年后 RISC-V 指令的处理器就可以进军服务器市场,到时候 AMD、Intel 这样的 X86 处理器公司也要担心了。
回复

使用道具 举报

12#
 楼主| 发表于 2019-10-26 09:34:25 | 只看该作者
倪光南:用开源经验
发展国内芯片产业
大力共建 RISC-V 生态
http://baijiahao.baidu.com/s?id=1648004221247265862&wfr=spider&for=pc
DoNews 2019-10-21  北京斗牛士文化传媒有限公司

DoNews 10月21日消息(记者 赵晋杰)10月21日,中国工程院院士、中国开放指令生态(RISC-V)联盟(CRVA)理事长倪光南在第六届世界互联网大会上发表了主题为《迎接开源芯片新潮流》的演讲。

他讲到,当前全球 CPU 领域已经被两类架构占据了大部分市场,而且这一趋势还将继续保持下去:第一代是英特尔和 AMD 两家公司掌握的 X86,在服务器等领域占有垄断地位;第二个是 ARM,在移动领域占有垄断地位。

从中国情况来看,ARM 架构更为流行。倪光南谈到了华为的永久授权,称这种模式可以获得很好的后续发展,但就是价格较高,成本很大。

这也折射出芯片产业当前的最大问题——高设计门槛,不仅前期投入巨大,且回报周期十分漫长。

倪光南演讲中建议,可以尝试将开源软件的成功经验借鉴到芯片领域。这样就能在很短的时间,用很小的投入,顺利开发出一款芯片。

比如 RISC-V 开源架构,其开放特性就决定了可以很容易的进行产业化。这方面,阿里巴巴走在前列,旗下半导体公司平头哥在今年 7 月份正式发布玄铁 910 ( XuanTie 910 ) RISC-V 处理器。

倪光南表示,中国应该迅速培养基于 RISC-V 的新型开放生态,不要去做历史包袱很重的 ARM 和 X86。

RISC-V 架构相比 ARM 还有一个优势就是可靠性。尽管可以获得 ARM 架构授权终身使用,但仍有变数。倪光南指出,这一变数就是有可能受到美国出口管制限制,因为 ARM 中美国技术成份超过了 25%

最后,倪光南呼吁到,希望越来越多的中国公司投身到 RISC-V 生态,尤其是新兴领域如大数据、5G、物联网、VR、边缘计算都可以尝试采用 RISC-V,“全世都知道中国的产品很便宜,性价比很好,大家都用,那么基于 RISC-V 的 CPU 将会在世界范围内成为主流”。(完)
回复

使用道具 举报

13#
 楼主| 发表于 2019-10-26 10:32:40 | 只看该作者
RISC-V 与 ARM 之争
阿里巴巴等中国公司做了哪些事情?

http://finance.sina.com.cn/stock/relnews/us/2019-10-22/doc-iicezuev4090959.shtml?source=cj&dv=2
2019-10-22 来源:腾讯自选股综合


10月21日,在第六届乌镇互联网大会上,阿里巴巴旗下平头哥半导体宣布,基于开源 RISC-V 指令集的低功耗微控制芯片(MCU)设计平台,将业界对近期本已非常火热的 RISC-V 指令集的关注推向新高度。

而就在数天前,ARM 在 ARM TechCon 2019 大会中宣布,推出针对 ARMv8-M 架构新增的功能 ARM Custom Instructions(客制化指令)。ARM 长久以来只开放 IP 授权,业界将ARM Custom Instructions 的推出解读为 ARM 应对开源指令集架构 RISC-V 的竞争压力所作出的措施。

关于 RISC-V 与 ARM 之争以及中国指令集市场发展再次成为业界话题焦点。

开源指令集架构 RISC-V 强势崛起

指令集可分为复杂指令集(CISC)和精简指令集(RISC),此前全球几大指令集架构有X86、ARM、MIPS、POWER、SPARC 等,其中 X86 属复杂指令集,ARM、MIPS 等属精简指令集。

在产业发展过程中,随着 MIPS、SPARC 的日渐式微,指令集架构已形成较为稳定的市场格局:由 X86 和 ARM 两大指令集占据大部分市场份额,其中在服务器、PC 领域,X86 指令集占据主要市场地位;在移动通讯领域,ARM 指令集被广泛使用,具有垄断地位。

不过,这一格局正在受到一个发布不到 10 年的指令集—— RISC-V ——的冲击。

2010 年,加州大学伯克利校一个研究团队在为新项目选择处理器指令集时分析了 ARM、MIPS、SPARC、X86 等多个指令集,发现它们不仅设计越来越复杂,还存在知识产权问题。于是伯克利的研究团队从零开始设计一套全新的指令集,这个新的指令集命名为“RISC-V”,表示为第五代 RISC。

相对于 X86 指令集的完全封闭及 ARM 指令集高昂的专利授权费用,RISC-V 指令集完全开源共享,任何公司、大学、研究机构与个人都可以自由免费使用,并具备精简、模块化、可拓展等优点。对于芯片设计厂商而言,除了不用担心会涉及专利问题外,RISC-V 指令集展现出的灵活性亦极具吸引力。

凭借着免费、开源、灵活等优势,RISC-V 指令集推出后受到众多芯片设计厂商关注,在短短几年间在全球范围迅速崛起

RISC-V 指令集属于一个开放的、非盈利性质的基金会,自 2015 年成立至今,RISC-V 基金会已拥有超过 327 家成员,成员中涵盖了半导体设计制造公司、系统集成商、设备制造商、军工企业、科研机构、高校等各类组织,其中白金会员包括谷歌、微芯科技、美光、英伟达、恩智浦、高通、三星、西部数据等全球知名科技/半导体企业,金、银和审计员队列中亦有台积电、英飞凌、意法半导体、联发科等一众知名半导体企业。

如今,RISC-V 已获得多家半导体巨头的支持。早在 2017 年,存储巨头西部数据宣布将把每年各类存储产品中嵌入的 10 亿个处理器核换成 RISC-V,并于 2019 年 2 月发布其基于 RISC-V 指令集的自研通用架构 SweRV;芯片巨头高通亦参与了 RISC-V 指令集厂商 SiFive 的融资;晶圆代工龙头台积电已导入 RISC-V 代工业务,近期传闻三星也将涉足 RISC-V 芯片代工。

除了企业、机构等单位外,多个国家亦对 RISC-V 作出了战略规划与部署,包括如美国国防部高级研究计划局(DARPA)资助了 RISC-V 基金会,并在安全征集提案中要求使用 RISC-V;欧洲委员会 2018 年启动 EPI 计划,RISC-V 和 ARM 都将作为此次计划的备选指令集;印度更是已在过去几年全面拥抱 RISC-V,RISC-V 已成为印度国家指令集......

中国扛起 RISC-V 指令集大旗

RISC-V 已获得众多国家的支持,该阵营目前已相当热闹,玩家越来越多,中国厂商则是 RISC-V 指令集阵营的中坚力量。

目前,中国企业阿里巴巴以及小米生态链公司华米科技是 RISC-V 基金会 19 个白金会员之一,华为、全志科技(24.790, -0.03, -0.12%)、君正、乐鑫、芯来科技等中国企业及机构亦在 RISC-V 基金会的金、银和审计员队列中。

除了众多企业、高校和机构成为 RISC-V 基金会成员后,中国本土亦建立起两大 RISC-V 联盟。

2018 年 9 月,中国 RISC-V 产业联盟(China RISC-V Industry Consortium)正式成立,该联盟由芯原控股、芯来科技、上海赛昉科技(SiFive China)、杭州中天微、北京君正(50.050, 1.33, 2.73%)、兆易创新(142.200, 5.61, 4.11%)、紫光展锐、晶晨半导体、华大半导体、上海集成电路行业协会等单位共同发起。

2018 年 11 月,中国开放指令生态(RISC-V)联盟在乌镇世界互联网大会正式成立,成员包括北京大学、清华大学、华为、百度、紫光展锐、腾讯、华米科技、全志科技、苏州国芯等系列高校、互联网巨头及半导体企业。

此外,近两年来国内相继发布多款基于 RISC-V 指令集的芯片产品,中国 RISC-V 产业发展持续升温,其中阿里巴巴为最主要的 RISC-V 指令集支持者之一。

2019 年 7 月,阿里巴巴旗下平头哥半导体发布其成立后的第一款芯片产品玄铁 910,这是一款基于 RISC-V 指令集的 CPU IP Core。同时,阿里巴巴宣布启动“惠普芯片”计划,未来将全面开放玄铁 910 IP Core,全球开发者均可免费下载该处理器的 FPGA 代码,开展芯片原型设计和架构创新。

10 月 21 日,在第六届乌镇互联网大会上,阿里巴巴宣布开源 RISC-V 内核 MCU 芯片设计平台。据介绍,平头哥开源 MCU 芯片设计平台包含处理器、基础接口 IP、操作系统、软件驱动、开发工具等全套模块,搭载基于 RISC-V 指令集的玄铁 902 处理器。

该平台面向 AIoT 时代的定制化芯片设计需求,目标群体包括芯片设计公司、IP 供应商、高校、科研院所等,目前开源的是玄铁 902 处理器及相关 IP,不过平头哥透露,后续还将开放更多 IP 和玄铁处理器。

除了阿里巴巴外,华米科技、紫光展锐、兆易创新、芯来科技等芯片厂商亦已发布基于 RISC-V 指令集的芯片产品。

2018 年 9 月,华米科技发布全球首款采用 RISC-V 开源指令集的可穿戴处理器“黄山 1 号”。2019 年 6 月,华米科技基于“黄山 1 号”芯片打造的 AMAZFIT 米动健康手表发布,“黄山 1 号”正式商用。

紫光集团旗下紫光展锐也已加入 RISC-V 指令集大军中。目前,在 RISC-V 的商用领域,紫光展锐目前已有春藤 5842 和春藤 5882 两款基于 RISC-V 的芯片实现量产,紫光展锐表示未来将继续对 RISC-V 在 5G、AI、工业半导体等领域的运用进行有益探索。

2019 年 8 月,国内半导体企业兆易创新推出一款基于 RISC-V 指令集的 GD32V 系列 32 位通用 MCU 产品 GD32VF103 系列,提供从芯片到程序代码库、开发套件、设计方案等完整工具链支持并持续打造 RISC-V 开发生态。

RISC-V 基金会银级会员之一芯来科技是国内专注于 RISC-V 处理器内核 IP 与解决方案的公司,目前也已发布面向 AIoT 的超低功耗产品线 N200 系列。该公司近期宣布完成数千万元 Pre-A 轮融资。

两大 RISC-V 联盟的成立以及多款芯片产品的推出,正在加速推动中国 RISC-V 产业化发展。虽然现在 ARM 指令集仍是中国市场最主流的指令集架构,但一方面基于 RISC-V 指令集免费、精简、模块化、可扩展等优点,一方面受当前充满不确定性的复杂国际环境影响,RISC-V 指令集越来越受到中国芯片厂商的重视。

老牌指令集打响自卫反击战

这边 RISC-V 指令集来势汹汹,再加上物联网等市场需求所趋,其他指令集也开始加入开源队伍中来,老牌指令集厂商 MIPS 首先打响了自卫反击战。

2018 年 12 月,Wave Computing 宣布开放其 MIPS 指令集架构以便半导体公司、开发者以及大学能快速采用 MIPS 架构用于下一代的 SoC 芯片的设计开发。MIPS 指令集从 1985 年第一个版本发布至今发已有 30 多年历史,2018 年 6 月,美国公司 Wave Computing 收购了 MIPS,开放 MIPS 指令集是该公司“All in AI”战略的重要组成部分。

根据 MIPS 开放计划,其并不是(开放)所有版本的 MIPS 指令集,仅是(开放)最新的 MIPS Release 6 版本,与 RISC-V 指令集的开源既有所相似、亦有不同,相比之下 RISC-V 指令集的开源更为彻底。

继 MIPS 之后,一直稳坐移动通讯领域龙头的 ARM 亦对 RISC-V 指令集的发展势头万分戒备

2018年 6 月,ARM 建立 RISC-BASICS.COM 的网站,以“设计系统芯片之前需要考虑的五件事”为主题,从成本、生态系统、碎片化风险、安全性和设计保证五个方面说明 RISC-V 在这些方面的弊端。

虽然这个网站不到一个月就被 ARM 关闭,但外界从这一举动中看出ARM 已受到来自 RISC-V 指令集的竞争压力。曾有机构调研显示,2017 年 ARM 的 IP 授权收入下滑 6.8%,一方面是因为被软银收购之后导致财务报表改变,另一个重要原因是来自竞争对手的增加,即 RISC-V。

如果设立网站辩论仍停留在“口舌之争”,那近期 ARM 宣布推出 ARM Custom Instructions 客制化指令这一举动,更被业界看作是应对 RISC-V 指令集的竞争威胁。

ARM Custom Instructions 将于 2020 年上半年开始在 ARM Cortex-M33 CPU 上实施,并且不会对新的或既有授权厂商收取额外费用,同时让 SoC 设计人员在没有软件碎片化风险下,得以针对特定嵌入式与 IoT 应用加入自己的指令。

据介绍,ARM Custom Instructions 通过对 CPU 进行修改、保留编码空间得以实现,帮助设计人员轻易增加客制化数据路径扩展,同时保有既有软件生态系统的完整性。这个功能加上既有的协处理器接口,可让 Cortex-M33 CPU 利用针对机器学习(ML)与人工智能(AI)等边缘计算应用场景优化的各类型加速器进行扩展。

与 MIPS 开发计划类似,ARM 的客制化指令已针对 Cortex-M33,该系列主要面向物联网和轻量级 AI 等应用领域。某不愿具名的业内人士向笔者表示,物联网等领域需求量大,注重低成本、低功耗、高效能比等,对软件生态的依赖性相对较低、市场较为分散,ARM 基于其处理器 IP 商业的成功推广,目前 Cortex-M 嵌入式领域占据多数市场份额。

但该人士也指出,其他 RISC 指令集处理器也有不错的表现,尤其是近期陆续有厂商推出自家 RISC-V 架构的芯片,未来在 IoT 应用不断落地的影响下,可以预见会有更多的 RISC-V 架构的芯片问世,这在一定程度上可能危及 ARM Cortex-M 架构未来的地位。

他认为,ARM 推出客制化指令,一方面是针对物联网等新兴市场提供芯片灵活性,另一方面则为了应对 RISC-V 指令集而进行防守。

开发中国的开源架构才是王道

RISC-V 指令集虽然火热,但其仍处发展期,产业生态仍远不如老牌厂商,MIPS、尤其是ARM 针对性的“开源”计划,对 RISC-V 指令集本身发展以及正在火热发展 RISC-V 的中国市场将有何影响?

上述业内人士指出,ARM 客制化指令的推出,一定程度上在不增加客户使用成本的前提下,为物联网等客户芯片开发提供了更高的灵活性。从采用 ARM 指令集的芯片开发商的角度看,开源度提升无疑是好事,将拥有更多自主性、差异化以及客制化设计。

不过,该人士认为 ARM 此举虽然加强了 ARM 的客户粘度,对 RISC-V 起到了一定的防御作用,但并不会遏制 RISC-V 的发展,广大市场客户对 RISC-V 的研究开发热情更不会减退,尤其是中国厂商。

众所周知,中兴、华为事件爆发后,“自主可控”已成为大陆厂商抵御风险的重要保障。ARM 指令集授权方式不同,尽管华为海思等已购买 ARM 指令集终身授权,但可能仍难以摆脱受到美国出口管制的限制;相较而言,RISC-V 的开源明显比 ARM 更能满足“自主可控”的需求。

在这里,不得不提一下 ARM 去年成立的 ARM 中国ARM 中国是 ARM 与中资的合资公司,双方持股比例为中方 51%、ARM 49%,据 ARM 高层表示,ARM 会将全球所有 IP 共享给中国合资公司,由它做修改、调试等,衍生出只属于中国自己的 IP。

从某种意义上解读,ARM 中国未来或有可能诞生属于中国的 IP,但实际上合资公司要想出完全属于自己的全新 IP 非常困难,仍需要较长的周期。

至于暂且不受专利国际环境影响的 RISC-V,上述人士则表示,虽然 RISC-V 目前为开源共享,但其技术终究源自美国,并不能保证永久开源。

对于中国厂商而言,“只有开发出属于中国自己的开源架构才是真正自主可控。”

Source:全球半导体观察

回复

使用道具 举报

14#
发表于 2019-10-26 10:50:16 | 只看该作者
路过看看
回复

使用道具 举报

15#
发表于 2019-10-27 20:38:16 | 只看该作者
riscv概念很不错,声势看起来也很大。。。
最好先在物联网领域切入,或许十年后会在物联网领域获得成功吧。。。

PC和手机领域,由于历史优势和用户使用惯性、平台转换成本等各种因素,很长时间内都没戏的。
回复

使用道具 举报

16#
 楼主| 发表于 2019-11-27 18:23:15 | 只看该作者
RISC-V 基金会打算从美国迁至瑞士
躲避潜在贸易限制



中国日报网 2019-11-27 中报国际文化传媒(北京)有限公司

华盛顿 11 月 25 日 - 非营利组织 RISC-V 基金会将在不久后从美国迁移至瑞士,因多家外国会员对于美国潜在的贸易限制感到忧心。RISC-V 基金会负责监管美国国防部支持开发的一项深具潜力的半导体技术。


RISC-V 执行长 Calista Redmond 在接受路透专访时表示,该基金会希望确保美国以外的各大学、 g-o-v-e-r-n-m-e-n-t以及企业能够协助开发其开源 (open-source) 技术。


她称基金会的全球合作至今并未受到任何限制,但有些会员“担心可能会受到地缘政治的干扰”。


“我们从世界各地听到‘如果基金会不是在美国注册,我们会感到更加放心’的说法,”Redmond 说道。她说董事会一致批准迁移,但不愿说明是那些会员发起此事。



RISC-V 基金会成立于2015年,为核心芯片架构制定标准,并负责控制谁可以在产品中使用 RISC-V 标识,就如同其他组织负责管理 Wi-Fi 和蓝牙芯片一样。该组织并不拥有或控制这项技术。


超过 325 家企业和其他实体成为付费会员,包括美国和欧洲的芯片供应商,如高通(Qualcomm) (QCOM.O) 和恩智浦半导体 (NXP Semiconductors) (NXPI.O),以及中国的阿里巴巴 (BABA.N) 和华为。


克林顿 g-o-v-e-r-n-m-e-n-t时期主管出口的前商务部次长 William Reinsch 表示,该基金会从特拉华州搬至瑞士,或许预示着,由于美国对一些中国科技企业设限,将有更多科技企业出走。


“这是对 g-o-v-e-r-n-m-e-n-t发出的一个讯号。意思就是,如果你们施压太严,就会出现这样的情况。在全球供应链当中,企业是有选择的,选择之一就是迁到海外,”他说。


部分美国共和党议员表示,他们担心美国会失去对 RISC-V 芯片架构的影响力。RISC-V 可用来制造几乎各种电子设备的微处理器,从而成为现代经济中的一个关键构件。这项技术来自加州大学伯克利(柏克莱)分校实验室,之后受益于五角大楼国防高等研究计划局 (DARPA) 的资助。


这些议员警告称,基金会中的中国成员可能影响这项技术的发展,以协助中国的半导体产业。


Redmond 向路透发言之后在电子邮件中表示,鉴于该项技术是开源的、任何人都可以获得,她并不认为这会不利于美国国家利益。


DARPA 发言人对路透表示,其意图是资助 RISC-V 的工作,向全球公司和学界开放。


应用协会 (The App Association) 总裁 Morgan Reed 将 RISC-V 基金会的工作与中美两国公司联合开发 Wi-Fi 芯片标准做了类比。应用协会总部位于华盛顿,接受苹果 (AAPL.O) 、微软 (MSFT.O) 等美国主要科技公司的资金赞助。


“中国可能会被禁止与美国和欧盟一起参与标准制定,这种想法根本不可行,”Reed 表示。“中国作为制造业和终端市场大国,其重要性是无法忽视的。”


RISC-V 基金会在去年 12 月一会议上宣布它将寻找一个“中立”国,之后到今年初正式决定迁至瑞士。这个决定几乎没有引起外界注意。Redmond 说,瑞士预计最快在 11 月底最终批准此举。


据两位代表科技标准组织的律师称,RISC-V 基金会的这个动作显示,美中贸易冲突可能令美国成为科技标准组织不易进驻的一个地方。


Redmond 并不认为国际合作面临“实质威胁”。“但我们正在采取一项保险政策,迁移总部以防范可能的限制,”她对路透表示。


华为发言人在回答路透问题时说:“我们支持 RISC-V 基金会将瑞士作为开源开发的一个中立地点。让开源尽可能的开放对科技业来说很重要。”

路透中文网

来源:中国日报网


回复

使用道具 举报

17#
 楼主| 发表于 2019-11-27 18:34:55 | 只看该作者
高科技逃离美国
开源处理器 RISC-V
计划将总部迁往瑞士

2019-11-26 快科技 作者:宪瑞

美国今年不惜动用国家紧急状态法案也要打压一些中国科技公司,包括华为、海光、海康威视、中科曙光甚至中广核等公司都被美国列入黑名单制裁,但是美国这一做法也会有反噬效果的。

美国在科技领域发动制裁,这固然会短时间内影响中国公司,但是长期来看对美国并不是好事,美国的 RISC-V 开源处理器基金会计划将总部迁离美国,新总部将设在中立的瑞士。

RISC-V 基金会首席执行官 Calista Redmond 表示,此举是为了确保美国以外的大学、 g-o-v-e-r-n-m-e-n-t和公司可以帮助开发其开源技术。

她还表示基金会的全球合作迄今为止没有受到任何限制,但成员们现在“对可能的地缘政治破坏感到担忧”。

对于为何迁移总部,Calista Redmond 表示,一些成员对现在的地缘政治被破坏感到担忧。

美国 g-o-v-e-r-n-m-e-n-t对 RISC-V 基金会的决定怒不可遏,因为 RISC-V 的兴起本身也受到过美国国防部下属的 DARPA 的资助。

不过考虑到美国现在的政策,RISC-V 要想在全球开源界获得成功,尤其是 RISC-V 重要市场在中国,他们总部搬离美国恐怕是板上钉钉了,这样可以最大程度地避开美国的法律限制。

回复

使用道具 举报

18#
发表于 2019-11-29 22:52:50 | 只看该作者
换个地方也好。。。希望risv能够在物联网领域取得一些成功。。。
回复

使用道具 举报

19#
发表于 2019-12-6 12:21:42 | 只看该作者
Sipeed M1 AI+lOT 模块 开发板 K210 深度学习 视觉
https://www.sipeed.com/
没有深入分解该公司的组成部分
不过微核心的芯片已经在淘宝上有售了
海思的也有不过更贵
如果大量采购开公司合作就有得谈吧~

点评

抱歉,本人没听说过微内核的芯片,只听说过微内核的操作系统。 微内核的芯片,如果淘宝上有卖,您可给个店铺地址。 另外,单片机和单板机,倒是听说过,不过,还不了解两者的差别在什么地方。 也不知道  详情 回复 发表于 2019-12-6 15:18
回复

使用道具 举报

20#
 楼主| 发表于 2019-12-6 15:18:23 | 只看该作者
atoms 发表于 2019-12-6 12:21
Sipeed M1 AI+lOT 模块 开发板 K210 深度学习 视觉
https://www.sipeed.com/
没有深入分解该公司的组成部 ...

抱歉,本人没听说过微内核的芯片,只听说过微内核的操作系统。


微内核的芯片,如果淘宝上有卖,您可给个店铺地址。


另外,单片机和单板机,倒是听说过,不过,还不了解两者的差别在什么地方。

也不知道海思属于什么范畴的物件。
回复

使用道具 举报

21#
发表于 2019-12-7 11:50:40 | 只看该作者
现在传统意义上的单片机已经很少了,智能大行其道时,缺少交互控制的芯片做的人会越来越少
开发的主流方向就是AI,所谓的微内核各有各的定义
芯片应用的方向更趋向专业应用,如飞控,声控~人脸识别~图文转换~
还有汽车的自动控制,不过这个就是集成图像识别,声控,机电控制一体了
现在单一集成一两个功能都可以叫微核心
我说的sipeed淘宝的这个店就有好几个微核心,你叫它单片机也行
传统的说能跑LINUX叫微核心,能跑FREEOS也应该是了

点评

您这个介绍,给了我一个提醒。在硬件层面(包括芯片),出现了“合久必分”的趋势。就是说,少数几家垄断芯片厂,正在分化,而形成许多小厂,并互相竞争。这些厂子没有兴趣生产传统的简单芯片,而是生产功能复杂的复  详情 回复 发表于 2019-12-8 11:56
棨ооγСЩоооγ Linux risc-v о淶 Щ壬档ù LinuxΡ磬A BB CAEBF棬棬 νЭQQ о DOSwin3.1ò оСЩ  详情 回复 发表于 2019-12-8 11:55
回复

使用道具 举报

22#
发表于 2019-12-7 12:03:37 | 只看该作者
PS:另无意中找到的,全志F1C100s f1c200s 能跑linux 64MB自带内存,不过IO很少,可能是被全志放弃了,有坑或是其它原因,不过能卖穿的价格也是很惊人的了
回复

使用道具 举报

23#
 楼主| 发表于 2019-12-8 11:56:45 | 只看该作者
atoms 发表于 2019-12-7 11:50
现在传统意义上的单片机已经很少了,智能大行其道时,缺少交互控制的芯片做的人会越来越少
开发的主流方向就 ...

您这个介绍,给了我一个提醒。在硬件层面(包括芯片),出现了“合久必分”的趋势。就是说,少数几家垄断芯片厂,正在分化,而形成许多小厂,并互相竞争。这些厂子没有兴趣生产传统的简单芯片,而是生产功能复杂的复合芯片。每个复合芯片,都融入自己的独特技术,形成符合自身利益的垄断框架。有了垄断优势,才能刺激这个行业的高速发展。


不过,分化也并非无底线。分化到一定程度,各家还需要某种统一的基础架构。这个基础架构,也大概会是像 Linux 那样的开源操作系统,以及像 risc-v 那样的开源芯片规范。


很可能微软早已看到这一情况,因而微软也逐渐接受了开源的一些概念,尽管十分不情愿。细说起来微软自成一体,又十分强大,因此,大家都提防着微软,都不敢跟微软玩。微软迫不得已,只好告诉大家:不用怕,我也玩你们信得过的这个 Linux,我和你们是平等的。即使像微软这么庞大的巨兽,也不能单打独斗,它也需要得到别的厂家的信任。终端的吃瓜用户不用担心,其实担心也是瞎担心,没有用,该来的照样来,挡不住。吃瓜人只能看热闹。比如,A 厂打B厂,B 厂打C厂;A厂与E厂和解了,B厂与F厂结盟了,等等。厂家的利益,用户的利益,最终会达到一个动态的平衡。


进一步引申,吃瓜用户去追求所谓开源,是苍白无力的,人家根本不鸟你。最终是看厂子之间的角力,看它们达成某种妥协。而没有硬件生产能力的吃瓜人,你想蹦跶,却没有立锥之地。人家高兴了让你蹦跶几下,不高兴了就对着你喷杀虫剂,一举歼灭。


在早期,微软没有竞争对手的时候,微软大力普及它的 DOS和win3.1,是很开放的态度。开放的目的是养鱼,微软不用做太多的工作,让鱼自己长大。但鱼长大了,那就该捕捞了。捕捞和宰杀会遭到抵抗,于是微软逐步收紧开放的口袋,让鱼逃不掉。收紧的口袋,让鱼们醒悟,不破掉渔网,根本没法活。然而,光是踢腾有啥用?你没原子弹,人家美国有原子弹,你不就是案板上的鱼吗?所以,大家全都明白了:必须生产原子弹!就连朝鲜都知道这一点了。


不过,原子弹也只能是国家才能搞。个人是搞不成的。就算个人搞成了,人家先灭了你,你的原子弹也就废了。


所以,芯片的生产,不是个体小公司能搞定的。它是那些掌握一定的话语权的大块头公司才能搞定的事。


吃瓜人只能看戏,只能每天看新闻联播,看看世界上又发生了什么样的战争。






回复

使用道具 举报

24#
 楼主| 发表于 2019-12-8 22:30:17 | 只看该作者
接着说。

微软自成一体,虽然成熟、完善,并发展到了顶峰,但却没有用。只要大家都不跟你玩,你是孤家寡人。就算你自己掌握了什么核心技术,即使封闭了源码,并且层层加密进行保护,也没有用——该流失的,照样流失。这就好比,历朝历代都修建华丽的宫殿,然而,朝代不断更替,那些宫殿都被后来的皇帝占有了。就是说,自己的核心技术、自己的宝贝,会流失到敌人那里。微软有了 Windows 之后,Linux 很快就有了 X Window 系统。这在法律上不存在抄袭之类的问题,但技术思路被模仿,很难挡住这种技术的扩散(或者说是流失)。

流失、扩散出来的技术,只对 IT 业者有用,对吃瓜人、门外汉是没用的。

IT 业者们互相打架,有一部分技术流落到了民间,比如 Linux 之类的。

但民间的这种东西,是很脆弱的。它的根基(硬件生产),不掌握在民间。

即使原子弹技术流落到了民间,也没人能够接纳得了。谁要是接纳了,他就会形成庞大的力量,他也就不再是“民间”的身份了。

以上是在探索、思考这样一个问题,即,开源是有限的,是受到制约的。换句话说,开源不是无拘无束的、不是无休止的;开源是有上限的、有封顶的,不可能“越界”,不可能超过某个界限。至于说“界限是啥”或者“如何界定”的问题,由于人类的语言和概念本来就是模糊的,我当然也不可能说得清楚。就是说,开源在本质上是有生产权的那些公司之间的事情,不是最底层老百姓的事情。老百姓只能吃人家的剩饭。

这个“开源上有封顶”的理论是否能够对目前 Linux 发展状况给出一个解释,我也不太确定。
回复

使用道具 举报

25#
 楼主| 发表于 2019-12-9 08:33:56 | 只看该作者
再继续引申。

开源是在特定历史条件下出现的,有着“振臂一呼、应者云集”的突发效应。它的大背景是微软高度垄断。在那种垄断之下,其它小公司命运很惨,频频被宰杀,朝不保夕。在这样的背景下,它自然酝酿着革命。但随着事物的不断发展变化,如今已经部分地有了革命成功的成果,苹果、谷歌等新生力量已经具有抗衡微软的实力,这种革命的迫切性已经大大降低。尤其是,当众多小公司也能起来分一杯羹的时候,开源就不再是为普通大众准备的菜了,而转变为主要只是服务于这些小公司。
回复

使用道具 举报

26#
发表于 2019-12-9 08:52:53 来自手机 | 只看该作者
看样子大师就要想开了,可喜可贺。

点评

大家都一样,都是从“有利于自己”的角度去考虑问题的。想明白一个问题之后,对谁最有利?当然是对自己最有利。自己少走弯路,或者少上当,或者少花钱,或者能够多挣钱,等等,皆是有利于自己。世界的真实模样是啥?  详情 回复 发表于 2019-12-9 18:18
回复

使用道具 举报

27#
发表于 2019-12-9 08:55:11 来自手机 | 只看该作者
没必要纠结这些,现有的设备可以linux的也很多,不是都不行,没必要去钻别人的套子,一般x86的机器,只要核显的都问题不大,个别驱动不行,您这样的技术编译下内核,搞搞驱动就好了。
回复

使用道具 举报

28#
 楼主| 发表于 2019-12-9 18:18:47 | 只看该作者
窄口牛 发表于 2019-12-9 08:52
看样子大师就要想开了,可喜可贺。

大家都一样,都是从“有利于自己”的角度去考虑问题的。想明白一个问题之后,对谁最有利?当然是对自己最有利。自己少走弯路,或者少上当,或者少花钱,或者能够多挣钱,等等,皆是有利于自己。世界的真实模样是啥?活到老,学到老,永远学不完,也永远琢磨不透。哲学就是经验,是用来指导自己的实践的。来到论坛上,互相吸取知识和经验,大家互相都有好处。
回复

使用道具 举报

29#
 楼主| 发表于 2019-12-9 18:33:17 | 只看该作者
好的,作为一个只会吃瓜的普通百姓,面前的这些生产者,无论大小,无论什么阵营不阵营的,全都拉平在同一个高度,不再从理论上区分谁更好。他们毫无例外,统统是生产者,而不是吃瓜用户。从这个意义上,他们都是一样的,没有差别;因而对其中任何一个生产者,都不能抱有过多的不切实际的幻想。在其他细节上,它们当然还会有差别,那就要看我更信任、更喜欢哪一个了。
回复

使用道具 举报

30#
发表于 2019-12-9 20:51:32 | 只看该作者
他们毫无例外,统统是生产者,而不是吃瓜用户。


这很自然。。。个人用户能做的选择有限的很。。。
尽管如此,屮宁愿看到一个更具竟争,更多样化的世界。

即使在比烂的世界当中,一个开放、竞争的环境,总好过封闭垄断的状况。
就象屮以前形容的那样,面对强盗和小偷,个人还氏觉得面对小偷时心理会好受点。。。

点评

细想起来,现在的用户们确实有很多选择。而目前这种竞争形势,似乎也比较有利于生产者和消费者。生产者有很多,有传统的巨型生产者,也有新兴的小生产者。生产者的这种竞争,有利于消费者。同时,生产者与消费者保持  详情 回复 发表于 2019-12-9 21:27
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-11 06:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表