risc-v 订阅
RISC-V
信息
操作系统
未知
开发语言
开源协议
BSD
RISC-V
RISC-V 的领导者之一是David Patterson,他也在80年代参与制作了RISC 指令集。主流芯片架构(英特尔和ARM)都受专利保护,而即便付了授权费,指令集也十分复杂,需要很大的工作量才能让其适应具体的工作需求。为此,Patterson 计划联合资金较少的小公司和研究人员,为各自特定的需求,开发自己的芯片。参与者需要对相关的指令集和芯片设计进行实验,并将结果分享出去。为此,该计划需要一个不受限制的指令集。 不久前,Patterson和同事意识到他们可以将RISC-V 推广出去,而且学校的项目已经据此开发了好几个芯片核,其他一些项目也利用了这一指令集。 在某些方面,RISC-V更优势,效率也更高,而且由于代码集较小等其他功能,让其很适合开源芯片系统设计。而且由于物联网的崛起,Raspberry Pi 等设备的普及,RISC-V 社区应该会与它们一同发展。
收起全文
精华内容
下载资源
问答
  • RISC-V-ALE RISC-V汇编学习环境
  • RISC-V:RISC-V 架构-源码

    2021-05-29 11:04:25
    RISC-V指令集采用宽松的BSD协议,企业完全自有免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。 在处理器领域,主流的架构为x86与ARM架构。x86与ARM架构的发展的过程也伴随了现代...
  • 终于有人把RISC-V讲明白了

    万次阅读 多人点赞 2018-07-27 15:30:04
    0 RISC-V和其他开放架构有何不同 如果仅从“免费”或“开放”这两点来评判,RISC-V架构并不是第一个做到免费或开放的处理器架构。 在开始之前,我们先通过论述几个具有代表性的开放架构,来分析RISC-V架构的不同之...

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

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

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

    0.1 平民英雄——OpenRISC

    OpenRISC是OpenCores组织提供的基于GPL协议的开放源代码RISC处理器。

    OpenRISC具有以下特点:

    • 采用免费开放的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个之多的通用寄存器,每个寄存器宽度为64bits,组成一系列的寄存器组,称之为寄存器窗口。

    这种寄存器窗口的架构,由于可以切换不同的寄存器组快速地响应函数调用与返回,因此,能够产生非常高的性能,但是这种架构由于功耗面积代价太大,而并不适用于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的模块化指令集

    为了提高代码密度,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)。

    图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指令。跳转链接(Jump and Link)指令jal可用于进行子程序调用,同时将子程序返回地址存在链接寄存器(Link Register:由某一个通用整数寄存器担任)中。跳转链接寄存器(Jump and 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指令集架构特点总结

    原文http://m.elecfans.com/article/653167.html

     

    展开全文
  • RISC-V入门指南 这是的存储库,该是RISC-V基金会准备的入门资料,托管在Read The Docs中,以向您显示从哪里开始,如果您有兴趣开发免费和开源的ISA。 有关RISC-V本身的详细信息,请参见。 您也可以为《入门指南》...
  • RISC-V 介绍 本软件仓中托管了有关于openEuler RISC-V相关的信息,包括如何获取及使用openEuler RISC-V的文档、工程配置以及工具。 参与RISC-V SIG的活动 RISC-V 相关的活动由RISC-V sig负责。你可以通过如下方式...
  • RISC-V 32i CPU和汇编器 这是HKUST ELEC-5140高级计算机体系结构的课程项目材料之一,鼓励学生增强结构模型并改善其性能。 该项目正在运行,由维护。 任何讨论或建议,将不胜感激! 项目树 RV32i目录包含一个用...
  • <div><p>RISC-V register file is very close to MIPS. It contains 32 registers which may contain 128, 64, or 32 bits of data. Register 0 is hardwired to zero signals. <p>...
  • RISC-V中的NaCl 在该项目中,由Daniel J. Bernstein,Tanja Lange和Peter Schwabe创建的已在RISC-V中实施。 对于该项目,决定采用32位基本指令集。 该项目提供不带任何扩展名的代码,以及一个使用乘法扩展名的代码...
  • RISC-V生态架构浅析(认识RISC-V)

    千次阅读 2020-01-20 17:01:01
    RISC-V最近越来越多的出现在科技新闻中,大量的公司加入到RISC-V研究和生产中。在越来越多的RISC-V研究热下,毋容置疑的是RISC-V的时代即将到来。让我们在这浪潮翻滚起来前,一起掀开RISC-V的神秘面纱,提前了解一下...

    原文:https://my.oschina.net/davidzhang/blog/3077126

     

    RISC-V 生态架构浅析

    前言

    RISC-V最近越来越多的出现在科技新闻中,大量的公司加入到RISC-V研究和生产中。在越来越多的RISC-V研究热下,毋容置疑的是RISC-V的时代即将到来。让我们在这浪潮翻滚起来前,一起掀开RISC-V的神秘面纱,提前了解一下RISC-V究竟是什么。

    什么是RISC-V

    RISC-V应该泛指RISC-V指令集及其衍生出来的一系列生态。而RISC-V指令集,类似于INTEL的X86 ,ARM指令集,是一个被CPU读取到内存后,指导计算机运行的指令集合。实现了该指令集的CPU,能执行指令集中规定的所有基本指令,使按该套指令集编译的程序能够无障碍运行,且具有同系列CPU可移植和兼容性。

    指令集有点类似于HTML规范,只是定义了基本的语法和规则。各个浏览器厂商依据该规范,自行投入研发能力实现出不同的产品,如下图所示。同一套HTML5规范,各个浏览器开发商实现的质量各有千秋,很显然让前端开发崩溃的IE已经如图所示自杀了,微软Edge已经转向了Chrome的怀抱。

    在芯片领域,应用范围最广的指令集都是收费的(X86基本不对外授权,ARM费用相当不菲),你能想象HTML5标记语言需要花几百万上千万美元授权才能开发浏览器吗?这真的是难以想象!所以芯片设计领域迫切需要一个行业认可的,高品质的指令集,它应该是OPEN的,免费的,一个世界范围可以参考使用的芯片指令标准。

    RISC-V指令集正式因为伯克利大学想开发一款CPU时,要么是一些老旧的架构,要么收费昂贵,芯片设计领域亟需一个开源的指令集。神说要有光,就有了光,神说要有空气,就有了空气,神说要有好的开源指令集,于是就有了RISC-V,没有好的轮子就造个轮子。RISC-V基金会就如W3C,RISC-V指令集就如HTML5,HTML5掀起了web领域的一场革命,RISC-V也将带来芯片领域的一场革命。

    为什么不自己设计一套指令集?

    目前应用领域最流行的两大指令集是X86和ARM,一个主宰服务器和PC,另一个主宰移动领域。X86被Intel,&AMD两家美国公司垄断; ARM指令集以前是英国的,现在已经被日本软银收购。而特朗普贸易战多动症发作的时候,这些指令集都被限制对华为授权或者销售。因为他们很大一部分都在美国霸权主义的控制范围之内。

    很多人会问,RISC-V也是美国人发起的,话语权依然在美国人手里面。为啥中国不自己搞一套指令集,即便从RISC-V借鉴一下,搞个CRISC-6也可以。据说RISC-V第一版本指令集伯克利大学4个人从设计到发布只用了3个月。

    这个就和HTML5标准是类似的,全球的浏览器应该基于一套免费的,开放的W3C制定的标准,而不是另起炉灶各自开发。否则你将不能得到大量开源社区的支持,如Linux社区,JDK相关支持,你将在全球首肯的生态圈外,最终要死不活。就像IE的自定义HTML标记,除非有个微软这样的好爸爸才有人基于你进行开发。然而即使IE有个好爸爸,最后还是挂了,因为对W3C的兼容性太差,让开发者痛苦的技术一定会被抛弃!故而处理器架构必须是全球范围的一个通用架构,必须获得生态支持,指令集不难,难得是成为事实标准并被全球采纳,被顶级工程师和开源社区主动提供适配支持。

    世界需要技术标准,从IEEE,W3C到5G。技术标准可以让世界沟通更加流畅,节省更多的开发成本!

    BSD协议,在RISC-V指令集基于这一开源领域非常自由的开源协议发布时,我们暂且相信这一指令集如该协议声明的那样开放。在RISC-V发展进程中,去拥抱它,发展它,合作构建一套自主可控且全球公认的指令集生态。如果有一天被限制了,基于BSD协议去兼容它。毕竟按常理国外一开源,国内就自主这个套路还是可以继续使用的。何况RISC-V本身只是一套指令集标准和规范。

    缘起

    该项目2010年始于加州大学柏克莱分校,但许多贡献者是该大学以外的志愿者和行业工作者。

    在2010年,伯克利研究团队要设计一款CPU,然而,英特尔对X86的授权卡的很严,ARM的指令集授权很贵,MIPS、SPARC、Open Power也都需要各自的公司授权。在选择很有限的情况下,伯克利的研究团队决定从零开始设计一套全新的指令集。而被很多媒体大肆宣扬也让人振奋的是,伯克利的研究团队4名成员仅用了3个月就完成了RISC-V的指令集开发,并公开发布了第一版指令集。正如行业内常说的,设计一套指令集并非黑科技,用这套指令集去实现CPU 才是真正具有含金量的工作。该指令集的第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。目前,伯克利研究团队已经完成了基于RISC-V指令集的顺序执行的64位处理器核心(代号为Rocket),并前后基于45nm与28nm工艺进行了12次流片。Rocket芯片主频1GHz,与ARM Cortex-A5相比,实测性能较之高10%,面积效率高49%,单位频率动态功耗仅为Cortex-A5的43%。在嵌入式领域,Rocket已经可以和ARM争市场了。

    RISC-V指令集具有性能优越,彻底免费开放两大特征。RSIC-V的设计目标是能够满足从微控制器到超级计算机等各种复杂程度的处理器需求,支持从FPGA、ASIC乃至未来器件等多种实现方式,同时能够高效地实现各种微结构,支持大量定制与加速功能,并与现有软件及编程语言可良好适配。

    PS:伯克利大学世界大学排名世界第4、世界大学学术排名世界第5。

    发展

    RISC-V产业生态正进入快速发展期。加州大学伯克利分校在2015年成立非盈利组织RISC-V基金会,该基金会旨在聚合全球创新力量共同构建开放、合作的软硬件社区,打造RISC-V生态系统。三年多来,谷歌、高通、IBM、英伟达、NXP、西部数据、Microsemi、中科院计算所、麻省理工学院、华盛顿大学、英国宇航系统公司等200多个企业和研究机构先后加入了RISC-V基金会。

    RISC-V大事件

    1. 全球第一大硬盘产商西部数据(Western Digital)将以每年10亿到20亿颗的预期来推动RISC-V,逐步完成全线产品迁移到RISC-V定制架构;

    2. MicroSemi提供基于Risc-V+Linux+CNN加速器的AI解决方案;

    3. 印度政府则大力资助基于RISC-V的处理器项目,使RISC-V成为了印度的事实国家指令集;

    4. RISC-V基金会的会员已经增加到150多个,大学、科研院所和企业大量使用或评估基于RISC-V的应用,参与度之高,覆盖面之广,盛况空前;指令集架构的生态链正在成长和完善,工具链、RTOS/Linux操作系统的移植等工作都取得关键突破;

    5. 2018年11月,RISC-V基金会宣布了与Linux基金会的联合合作。作为合作的一部分,Linux基金会还将为RISC-V生态系统提供大量资源,如培训项目、基础设施工具、社区推广、市场营销和法律专业知识;

    6. 2019年6月,Debian 移植 RISC-V 64 架构已完成 90%,LLVM 成阻碍,不过开发者预计今年将会完成对 LLVM for RISC-V 64 的支持。

    RISC-V 基金会

    在RISC-V诞生5年后,2015年RISC-V基金会成立。有超过275个成员致力于建立第一个开放的,合作的软硬件创新社区。RISC-V ISA诞生于学术界和研究界(加州伯克利分校EECS系的计算机科学部),为未来50年的计算相关的设计与创新铺平了道路。

    RISC-V基金会是一个由其成员控制的非营利性公司,指导RISC-V未来的发展,并推动RISC-V ISA的被更大范围的采用。RISC-V基金会的成员可以访问和参与RISC-V ISA规范和相关的HW/SW生态系统的开发。该基金会有一个董事会包括七个代表,分别来自Bluespec公司、谷歌、Microsemi、Nvidia、NXP、加州伯克利大学、和西部数据。

    ​ 每年RISC-V基金会都会举办全球活动,将不断增长的生态系统整合在一起,讨论当前和未来的RISC-V项目和实现,以及共同推动未来的指令集体系结构(ISA)的演进。活动会议的特色是主要的技术公司和研究机构讨论:RISC-V体系结构、商业和开源实施、软件和硅半导体、向量和安全、应用程序和加速器、模拟基础设施等。访问事件处理页面了解更多信息。

    RISC-V 指令特点

    1 设计哲学-简单就是美

    大道至简,在IC设计的实际工作中,最简洁的设计往往是最可靠的,在大多数的项目实践中一次次的得到检验。

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

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

    后发优势,RISC-V设计汲取X86和ARM架构中的经验,前人踩过的坑不用再犯,同时无需向下兼容老旧的设计和已经过时的指令。想想去看一本架构文档,里面一大半的篇幅都在讲过时的指令和设计,是不是感觉宝贵的时间都被浪费了。

    在处理器领域,目前主流的架构为x86与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的篇幅可以说是极其短小精悍。

    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指令集简介

    2.1 模块化的指令子集

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

    2.2 规整的指令编码

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

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

    2.3 优雅的压缩指令子集

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

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

    2.4 特权模式

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

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

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

    2.5 自定制指令扩展

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

    2.6 其它特点

    可配置的通用寄存器组;

    简洁的存储器访问指令;

    高效的分支跳转指令;

    简洁的子程序调用;

    无条件码执行;

    无分支延迟槽;

    简洁的运算指令;

    3. 总结与比较

    SIFIVE公司及开源

    SIFIVE公司是RISC-V指令集的行业先驱。2015年,伯克利研究团队又往前推进了一步,成立了SiFive初创公司,加速RISC-V的商业化进程。SiFive公司的定位和基于Linux开源社区的RedHat公司、基于Spark开源社区的Databricks公司一样,为用户提供高性能的处理器IP核以及集成了外围部件IP的SoC芯片。

    SIFIVE目前的产品类似于浏览器领域的开源产品chromium,当然区别在于chromuim相对开放,而SIFIVE在商业用途还是需要相关专利授权才可使用。目前已推出32位E2(低端)、E3(中端)、E7(高端)系列,和64位S2、S5、S7系列, 64位Linux兼容版U2,U7处理器。并着手于简化芯片设计领域的技术鸿沟,提供云端的模块化设计和验证程序。

    SIFIVE目前也是RISC-V领域产品系列最全,技术相对领先的公司。其它芯片设计公司或多或少与其有合作和技术参考。2018年SIFIVE推出了全球第一款运行 Linux的HIFIVE开发板,核心芯片为 1.5GHz U540 SoC,采用台积电 28nm HPC 工艺制造的64位处理器,配备 8GB DDR4(ECC)、一个千兆以太网(GbE)端口、一个 microSD 插槽、FMC连接器。

    SIFIVE中国:基于2019年5月,美国政府限制ARM公司向华为提供新的技术授权,同时也限制SIFIVE向华为提供芯片IP授权。SIFIVE在中国成立完全独立的子公司,SIFIVE中国完全独立运营,而非SIFIVE的子公司,以此来规避政治风波造成的技术性中断。

    美国商务部前助理部长Kevin Wolf说,已公开发表、供任何人取用的科技,不被美国“出口管理条例”监管,也不受实体清单限制。RISC-V属于公开类别,是华为的潜在芯片替代方案。

    SiFive的CEO Naveed Sherwani指出,“因为我们一直认为中国有权利需要一个非常独立的半导体行业。中国行业需要这样独立的企业,所以我们非常赞同这样的理念。如果您要在这个地方帮助中国,首先要是中国的企业”。当然SIFIVE的最终目的还是促进RISC-V生态环境的发展和壮大,最终成为比肩甚至超越X86和ARM的新一代计算指令集。

    国内发展现状

    政策扶持

    国家大力推广,上海成为国内第一个将RISC-V列入政府扶持对象的城市,并发布了《上海市经济信息化委关于开展2018年度第二批上海市软件和集成电路产业发展专项资金项目申报工作的通知》。对RISC-V相关芯片设计企业提供政策资金帮助,鼓励基于RISC-V自主处理器的研发及产业化。

    中国开放指令生态(RISC-V)联盟

    2018年11月,中国开放指令生态(RISC-V)联盟(下简称“RISC-V中国联盟”)于8日在浙江乌镇召开的世界互联网大会上宣布成立。联盟理事长由中国工程院院士、中科院计算所研究员倪光南担任。图灵奖得主、美国加州大学伯克利分校教授David Patterson在成立仪式上发布了由中科院计算所翻译的中文版《RISC-V手册》。

    RISC-V中国联盟旨在以RISC-V指令集为抓手,联合学术及产业界推动开源开放指令芯片及生态的健康发展。因此,联盟制定了一个“三步走”计划,希望用10年左右的时间,到2030年逐步完成开源芯片生态的建立。据了解,RISC-V中国联盟发起单位包括中科院计算所、北京大学、清华大学、阿里—中天微、百度、中芯国际等近20家研究机构和企业,目前已有一批企业构建了开源芯片关键技术。

    “RISC-V指令集有望像开源软件生态中的Linux那样,成为计算机芯片与系统创新的基石。” RISC-V中国联盟秘书长、中科院计算所研究员包云岗对《中国科学报》记者说,但只有RISC-V指令集还远远不够,还需要开发基于RISC-V的开源工具链、开源IP、开源SoC等才能形成开源芯片生态,这需要更多支持开源芯片的力量参与和贡献。

    黄山一号芯片

    2017年,华米科技成立了人工智能实验室,并启动了他们的人工智能智能可穿戴芯片研究项目,投身 RISC-V 芯片研发,并最终在 2018 年 9 月推出了第一款芯片“黄山一号”。据介绍,这款采用RISC-V架构设计的芯片是是全球首款集成AI神经网络模块的处理器,能本地化处理AI任务,对心率、心电、心律失常等进行实时监测与分析。2019年6月“黄山一号”已流片量产,主要用于华米穿戴智能设备AMAZFIT的主控芯片,处理器频率240MHz,55nm工艺,目前应该是和SIFIVE合作采用了SIFIVE公司的部分芯片IP。

    其它厂家机构

    平头哥半导体(前杭州中天微):宣布正式推出支持RISC-V第三代指令系统架构处理器CK902,并建立战略合作关系推广RISC-V在国内的商业化落地。截至2018年9月,中天微基于C-SKY CPU IP核的SoC芯片累计出货量已经突破8亿颗。CK902为32位低功耗,是全球首款支持物联网安全的RISC-V处理器。

    阿里平头哥首颗芯片玄铁910出炉,现场启动普惠芯片计划(2.5GHZ, 最高16核,开始暴走出击了??)http://baijiahao.baidu.com/s?id=1640007943128436792&wfr=spider&for=pc

    ** 松果电子(小米) ** 和中天微合作,以中天微RISC-V CPU处理器为基础平台,松果电子提供极具市场竞争力的SoC智能硬件产品,共同促进和加速RISC-V在国内的商业化进程。松果电子考量了中天微在现有嵌入式CPU研发技术、持续研发投入的经济的双实力,经过大规模量产验证的中天微CPU内核架构配合成熟稳定的开发工具链,在以此最大限度避免使用RISC-V时带来的技术和量产的不确定性。

    ** 上海乐鑫信息科技 ** 成立于2008年,致力于前沿低功耗WiFi+蓝牙双模物联网解决方案的研发。目前在研基于RISC-V指令集架构的ESP32-Marlin物联网芯片。

    ** 北京君正 ** 北京君正集成电路股份有限公司成立于2005年,目前已发展成为一家国内外领先的嵌入式CPU芯片及解决方案提供商。CPU研发队伍已展开对基于RISC-V指令集的CPU核的研发。

    ** 芯来科技 **: 创立于2018年,是一家具有代表性的RISC-V处理器内核IP和解决方案公司,并创造了我国第一颗开源RISC-V处理器项目蜂鸟E203。2019年1月芯来科技完成了千万级人民币的天使轮融资。

    有数据显示,中国有300家以上公司在关注RISC-V或以RISC-V指令集进行开发,除了以上所列举的企业,采用RISC-V架构推出产品的还包括芯原、汇顶、核芯互联、飞利信等。

    印度发展情况

    从国家政策层面对于RISC-V进行支持,我国并非第一家。2017年,印度政府表示将大力资助基于RISC-V的处理器项目,使RISC-V成为了印度的事实国家指令集。

    2011年印度实施处理器战略计划,在全国范围资助2-3个研制处理器的项目。印度理工学院马德拉斯分校的两位教授在该计划支持下启动了SHAKTI处理器项目,研制与IBM PowerPC兼容的处理器,为获得合法授权,SHAKTI项目组与IBM开展了合作谈判,但未能达成一致。此时恰好遇上RISC-V在2013年流片成功,于是SHAKTI项目组放弃PowerPC拥抱RISC-V,项目目标也临时调整为研制6款基于RISC-V指令集的开源处理器核。这个临时的调整不仅未受到指责,反而得到了印度政府更大力度的支持。另外,2016年1月,曾长期开展超级计算机研究的先进计算发展中心获得印度电子信息技术部4500万美元的资助,目标是研制一款基于RISC-V指令集的2GHz四核处理器。还有,在印度政府支持的另一个关于神经形态加速器项目中,也将RISC-V作为计算主核心。随着印度政府资助的处理器相关项目都开始向RISC-V靠拢,RISC-V成为了印度的事实国家指令集。

    印度理工学院(IIT)Madras 为其开源Shakti处理器发布了SDK。Shakti基于开源RISC-V指令集架构,由印度电子和信息技术部资助。根据IIT的说法,开发板也将很快发布。IIT Madras的RISE集团于2016年开始致力于Shakti项目,并计划针对不同的市场发布六个系列的处理器。该集团表示,他们的处理器在面积、性能和功耗方面具有竞争力。Shakti处理器首批就规划了多达6个不同系列,各自针对不同的市场,号称在核心面积、性能、功耗方面相比当前商用处理器都很有竞争力。目前在研,低端产品有成品,中高端还在开发设计阶段。

    E系列:3级顺序流水线,针对IoT物联网设备、机器人平台、电机控制等嵌入式领域。

    C系列:32位5级顺序流水线,微控制器档次,核心频率200MHz-1GHz,适合中等负载,功耗极低,并可选支持内存保护。

    I系列:64位乱序流水线,核心频率1.5-2.5GHz,支持多线程,面向移动、存储、网络应用,也是主打嵌入式。

    M系列:面阿宁主流消费级市场,最多八核心。

    S系列:针对工作站和服务器,I系列的增强版,也支持多线程。

    H系列:用于高性能计算,单线程性能突出,可选四级缓存,支持Gen-Z Fabric互连总线、存储级内存。

    RISC-V 可应用的领域

    RISC-V可应用于FPGA,嵌入式,ADC/DAC 转换器,DSP 及服务器CPU等领域。

    作为Java应用开发程序员,我们理想的状态应该全技术栈免费开源:

    RISC-V 64位处理器 + Linux + MySQL + Docker + OPENJDK。

    面临的问题

    无论是Linux还是其它开源社区,还处于相向适配阶段,安全稳定运行还有待验证。

    开发工具,验证工具还不够成熟。

    生态不够完整,产业链主要是外围配件等中低端产品。

    在高端主控和高性能服务器CPU相关,还没有应用范围广的成品。

    各个厂家可自行设计实现自己的硬件,不排除如Android一样出现设备多样性,碎片化,测试人员面前一堆手机的场景复现。

    友情链接

    MoliCode自定义模板代码生成工具,如果有需要的可以参看一下,谢谢支持:https://www.oschina.net/news/108402/molicode-2-0-released

    参考文献

    risc-v基金会 https://riscv.org/

    物联网给了RISC-V绝佳机会 http://www.elecfans.com/emb/dsp/20190515934806.html

    RISC-V,才是未来的科技之芯 https://baijiahao.baidu.com/s?id=1634400236103047992&wfr=spider&for=pc

    把RISC-V讲明白了 http://m.elecfans.com/article/653167.html

    美国RISC-V厂商已不能向华为出售IP http://news.hqew.com/info-346602

    中国开放指令生态(RISC-V)联盟 http://crva.ict.ac.cn/

    RISC-V精简到何种程度? https://blog.csdn.net/zoomdy/article/details/79343941

    大道至简——RISC-V架构之魂(上) https://blog.csdn.net/zoomdy/article/details/79580529

    大道至简——RISC-V架构之魂(中) https://blog.csdn.net/zoomdy/article/details/79580772

    大道至简——RISC-V架构之魂(下)https://blog.csdn.net/zoomdy/article/details/79580949

    RISC-V学习整理 https://blog.csdn.net/csbei19891218/article/details/87880578

    解读两大精简指令集:RISC-V和MIPS https://blog.csdn.net/qq_41394155/article/details/88595775

    RISC-V的软件开发 https://blog.csdn.net/tomsoft/article/details/80915348

    【一种全新的指令集架构RISC-V】 https://blog.csdn.net/p340589344/article/details/82290920

    大量的RISC-V文章(可下载)https://blog.csdn.net/zzwu/article/details/54798818

    芯片春秋: 开源架构RISC-V前世今生 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/80267054

    第七章RISC-V的取指令 https://blog.csdn.net/qiaobt/article/details/83141066

    什么是RISC-V https://zhuanlan.zhihu.com/p/49176102

    RISC-V登场,Intel和ARM会怕吗?https://www.cnblogs.com/findumars/p/9285713.html

    芯片春秋: 开源架构RISC-V前世今生 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/80267054

    基于RISC-V架构的开源处理器及SoC研究综述(一) https://blog.csdn.net/leishangwen/article/details/55006662

    如何看待开源指令集RISC-V https://www.zhihu.com/question/28368960

    SiFive引发了一场开源芯片设计革命 http://www.elecfans.com/emb/dsp/20180518679533.html

    华米发布黄山1号 https://www.expreview.com/64167.html

    华米发布黄山1号 https://www.techsir.com/a/201809/49150.html

    中国开放指令生态(RISC-V)联盟成立 https://www.xianjichina.com/special/detail_367735.html

    出货量8亿颗!阿里系芯片公司中天微发布中国自研CPU架构RISC-V处理器 http://www.sohu.com/a/251828505_473283

    从落地产品看RISC-V中国芯势力 http://dy.163.com/v2/article/detail/ED2IBJU50511RIVP.html

    全球首款基于 RISC-V 的开源硬件板卡 — HiFive https://www.oschina.net/news/93390/hifive-unleashed

    展开全文
  • 半导体解决方案供应商瑞萨电子集团(TSE:6723)今日宣布,与RISC-V架构嵌入式CPU内核及相关SoC开发环境的 供应商——Andes Technology启动技术IP合作。瑞萨选择AndesCoreTM 32位RISC-V CPU内核IP,应用于其全新的...
  • iar-risc-v-gd32v-eval:IAR RISC-V GD32V评估板的示例项目。 从https://www.iar.comevalkit申请免费董事会
  • RISC-V

    2020-12-30 09:50:35
    瓜大三哥 蜂鸟E203系列 蜂鸟E203系列——RISC-V资料 芯来科技官网 RISC-V MCU
    展开全文
  • 《程序员》于 2000 年创刊,其理念为「技术改变世界,创新驱动中国」。... Kernighan、Vue.js 作者尤雨溪、TiDB 作者黄东旭等之后,我们采访到了 RISC-V International 首席技术官 Mark Himelstein,与他共谈 .

    《程序员》于 2000 年创刊,其理念为「技术改变世界,创新驱动中国」。2021 年,《程序员》2.0 全新起航,首期以「开发者的黄金十年」为主题,以音视频、图文专栏等丰富的多媒体形式为载体,立足当下,放眼未来,为读者带来全方位的技术和产业解读。
    本文为《程序员》2.0 第一期内容,在 UNIX 开发者 Brian W. Kernighan、Vue.js 作者尤雨溪、TiDB 作者黄东旭等之后,我们采访到了 RISC-V International 首席技术官 Mark Himelstein,与他共谈 RISC-V 的成功之道。

    作者 | 《程序员》编辑部

    中国工程院院士、中国开放指令生态(RISC-V)联盟理事长倪光南曾说:“未来 RISC-V 很可能发展成为世界主流 CPU 之一,从而在 CPU 领域形成 Intel、ARM、RISC-V 三分天下的格局。”

    与 CPU 龙头老大的 Intel、ARM 三分天下,谈何容易,可偏偏这个在 2010 年才诞生的 RISC-V 就有这样的势头。

    作为目前为数不多的开源硬件,RISC-V 完全开放,基于广泛使用且标准十分宽松的 BSD 许可证,开发者可自由免费地利用 RISC-V 来设计 CPU,也能在原有基础上进行扩展。而最终的成果是否开源、是否商业销售,甚至是否要更换其他许可协议,全都由开发者自己决定。

    如此人性化的设定,大大降低了芯片的研究门槛,使 RISC-V 被誉为“半导体行业的 Linux”,广受开发者欢迎。据分析机构 Semico Research 的《RISC-V 市场分析:新兴市场》报告数据,预计到 2025 年,市场将总共消费 624 亿个 RISC-V CPU 内核,其中预计工业领域将是最大的细分市场,届时将拥有 167 亿个内核。

    那么 RISC-V 是如何实现这一成绩的?又是如何平衡开源与商业化之间的矛盾?带着这样的疑问,《程序员》特别对话 RISC-V International 首席技术官 Mark Himelstein。通过本文,或许我们可以走进 RISC-V 的世界,揭开这个“年少有为”的开源指令集架构的神秘面纱。

    重点速览:

    • 向 Linux 基金会学习: 学会如何去构建开源社区是一件很重要的事,也希望在硬件领域开拓新天地的 RISC-V 能在该领域“继承 Linux 的衣钵”。
    • RISC-V 最吸引人的特点: RISC-V 正在创造一个新的环境和工作模式,因为它打开了与开源软件相对应的开源硬件之门。
    • 谈开源社区: 开源社区打破了公司与公司、国家与国家之间的壁垒。优秀的社区则应具备两点标准:首先,让人们盈利,能为人们提供支持和帮助;其次,参与社区贡献的人,要拒绝重复「造轮子」,坚持不断创新。
    • 对开源商业化的看法: 这是整个世界资源的优化。如果有 100 家公司都在做同样的事情,那简直就是在浪费整个物种的资源。
    • 如何赋能开发者、企业以及国家和地区: 不会设定任何限制,所有人都可以根据需求使用或多或少的 RISC-V 指令集,也可以针对其增值领域进行定制。
    • 改变世界的 RISC-V: 重新赋予指令集足够的灵活性和可扩展性是 RISC-V 改变世界的方式。
    • RISC-VI : 不必期待 RISC-VI,RISC-V 要持续 50 年,各种想要的东西可以继续在 RISC-V 上添加。

    “变化贩子”,无畏挑战

    Mark Himelstein,于 2020 年 6 月正式任职 RISC-V International CTO。在此之前,他的履历也相当丰富:Heavenstone 公司的总裁、Graphite 工程副总裁兼 CTO、Quantum CTO、Solaris 开发工程副总裁,也曾在苹果和 MIPS 任职技术管理。
    在这里插入图片描述
    《程序员》:您在许多家公司担任过 CTO,请问您工作的原则是什么?

    Mark: 这说不准,因为每个人不同时期会有不同的兴趣爱好。首先我喜欢技术,尤其是具有挑战性的技术。我接受 RISC-V CTO 这份工作的原因之一就是它能让我充分发挥重要的管理技能和技术才能。

    2012 年我曾和一位前 UCSD(加州大学圣地亚哥分校)教授共同创办了一家公司,主要研究基于大数据和英特尔 CPU 的大规模并行存储。虽然这次的创业是以我们把它卖给了易安信(EMC)公司收场,但也因为这段经历,我清楚地意识到了一件事:我们可以让指令集渐趋完善。

    后来,我们和一个名为芯片联盟(CHIPS Alliance)的非营利组织合作,保证在指令集的速度、性能以及特性的提升上提供更多支持,这也是我目前最大的爱好。

    《程序员》:作为一个基金会的 CTO 最难的事情是什么?您又是如何去解决的?

    Mark: 最困难的是我会不断面临许多意料之外的事情。不过还好,我比较有耐心,因此我只是希望这些事能尽快处理好,可以让我喘口气,明确自己该做的事,保证社区正在以稳定的步伐前进。

    虽然从过去到现在,发生了许多事情,但我们一直在坚持做有意义的事,我只希望未来可以更快、更高效地解决所有难题。

    《程序员》:人们可能会在担心变化,但是在某次采访当中您提到您是“变化贩子”,同时也乐在其中。可以和我们分享一下吗?

    Mark: 我认为有些人,特别是那些一直在做同一件事情的人,他们在封闭的环境里面太久了。虽然他们依旧很聪明,也能够做出很好的东西,但可能因为不想像早期的研究者们那样承担不必要的风险,所以不愿意接受变化。

    我过去也是这样的人。彼时我在使用 Sun 公司的 Solaris 操作系统时,Linux 才刚刚诞生,但我发现它非常重要,所以写了个程序把所有 Linux 命令合在一起,使其成为可用的构建环境等。不过当时有些工程师并不理解我的做法,还记我当时解释道,「你不去做,别人就会做,那么你就将失去为用户带来产品的机会。」此后他们就明白了其中的缘由,并一起参与进来,这也是当时我帮助组织度过难关的方法。

    而现在我们需要换个角度来考虑问题,由于世界是变化的,所以我们也要与时俱进。我们现在在做的一件事就是,利用我在软件领域的丰富经验来平衡组织。我们现在有三个委员会和一个特别兴趣组织和任务团队来处理所有事情,范围包括从 ABS 到管理运行时间到编译器优化,因为这些领域每天都在发生不断地变化。在产品范围内,我们负责积极制定策略,他们则负责跟进变化、填补空白,并同步给我们方便有针对性地调整策略。

    RISC-V 要在硬件领域“继承 Linux 的衣钵”

    《程序员》:您认为需要和 Linux 基金会学习的最重要的一件事是什么?RISC-V 最吸引人的特点是什么?

    Mark: 首先,我们学到很重要的一件事情就是如何去构建开源社区。我认为 Linux 基金会相当成功,通过对比 1990 年和 2020 年的 Linux,你会发现此基金会的成果令人惊艳:1990 年,如果你将 Linux 作为自己的操作系统,你可能会丢掉工作;2020 年,如果你不选择 Linux,你也可能丢掉工作。通过这个伟大的开源社区,Linux 创造了数量庞大的产品并产生了相当多的创新。

    虽然与全软件的 Linux 不同,在硬件领域开拓新天地的 RISC-V 还是希望能在该领域“继承 Linux 的衣钵”。由于硬件的高级工程师非常重要却极为稀缺,因此我们将每个人的工作明确区分开,譬如,架构师的设计能在架构层面实现,开发者则负责完成生态系统的建设。整体而言,不管是编译器还是架构测试、建模、模拟器,或者操作系统等,都可以找到对应的技术人员。这是一场双赢,他们得到了业界的认可和经验,而 RISC-V 也得到了长足的发展。

    我们对此非常感激,同时我认为 RISC-V 正在创造一个新的环境和工作模式,因为它打开了与开源软件相对应的开源硬件之门。

    《程序员》:怎样才是一个好的社区?

    Mark: 我认为归根结底,首先,能让人们盈利,为人们提供支持和帮助的社区就是一个好的社区。如果人们在一件事中一无所得,那就证明这件事也不是很重要。拿 Linux 举例,许多人就利用 Linux 获取了收益,有的靠提供服务,有的靠提供基于 Linux 的服务器。总之,Linux 成为了他们盈利的基础,同时这也促进了开源中商业意识的发展。

    其次,参与社区贡献的人,要拒绝重复「造轮子」,坚持不断创新。如果你很早就向开源贡献了自己的成果,这就等同于你把时间和精力用在进行构建并提出价值主张上,这对你的业务而言有着独一无二的价值。但社区中总会有一些人有所保留,直到最后才肯发表意见,即便在 Linux 社区中也存在这样的现象。

    我们与人合作的真正目的是积极主动地做出贡献、有建设性地互帮互助,这样才会带来一个很好的社区。在此基础上,社区就能帮助人们盈利,比如完成指令集的扩展等。

    左手开源,右手商业

    《程序员》:对于开源商业化,之前大家的态度是犹豫怀疑,有些人还认为开源不应该用来赚钱,也赚不到钱,而现在大家发现通过开源项目商业化也能够反哺社区,更好地促进开源发展,形成良性循环,您怎么看待这个问题?

    Mark: 我认为这是我们整个世界资源的优化。比如,我们可以盘点一下整个世界的资源,如果有 100 家公司都在做同样的事情,那简直就是在浪费资源对吧?所以这就有些愚蠢了,因为随着时间的流逝,每个人都会知道该怎么对这些事做加减乘除。

    另外,我们为什么总要创造一些新奇却空洞的东西?明明我们可以把时间用在一些更有意义的事情上,比如如何实现这个时代的更适用的芯片之类。举个例子,美国有 4 个不同的蜂窝网络,我觉得这就浪费了国家的资源,也没有创新的余地。如果让所有人都支持一个就好了,因为虽然这个过程看似兵分四路,最后却朝着同一个目标,不过是殊途同归。

    可能也有些人不想让每个人都去创新,他们或许认为许多人做一件事会产生良性竞争。但 Linux 教会我们的是,如果你选择分享成果而不是让每个人都做一样的事情,你将拥有更好的机会并会节省资金。

    《程序员》:请问您如何评价 SiFive?

    (注:对于有能力自己定制芯片的科技公司,RISC-V 是免费开源的;但也有很大一部分资源不足的中小型公司,他们会有偿委托 SiFive 来采用 RISC-V 架构设计量产芯片,在这种情况下 RISC-V 就变得商业化)

    Mark: 首先我们对 SiFive 表示感谢,它的创始人非常棒:Krste Asanovic、Yunsup Lee 和 Andrew Waterman。他们各司其职,让 RISC-V 真正地开始兴起。其次,他们免费为开源社区做了大量工作,他们为上游项目带来了很多贡献,甚至有人说 SiFive 对我们的投入就像公司刚成立时期重要人物给公司投入的一般。

    在 2016 年只有十几家公司愿意这样对我们,现在我们已经得到上百家公司的支持了,他们彼此之间合理分配并负责不同的角色。反之,我们也确保能够理解他们,因此目前我们正在经历一个选举周期,对于长期担任同一职位的人们进行重新选举,给予其他人成为领导者的机会,并尽力保证每家公司在做出关键决策时最多只有一票,这样就能将权利真正分散。这样的话对于一家公司来说,不管以怎样的形式,负担都不会太重,而这也是 SiFive 最擅长的地方。

    所以我们必须承认,SiFive 的创始人们真的非常聪明。我们经常一起开会,或发邮件联系,他们也很慷慨友善,非常乐于和社区合作并分享他们的技术。

    RISC-V 期待改变世界

    《程序员》:RISC-V International 如何赋能开发者、企业甚至是国家和地区?

    Mark: 我认为开源社区(而不是软件或硬件)的标志之一就是赋能。我们没有设定任何限制,所有人都可以根据需求使用或多或少的 RISC-V 指令集,也可以针对其增值领域进行定制。因此,如果你是专门研究低功耗的 SoC 提供商,可以重点关注一下我们的开源社区。在社区中,你无需重复所有工作即可完成基本算术或类似的工作;你可以和其他人分享成果;有一些相关组织在进行设计和设计验证(DV,Design Verification)等工作;还有一些商业实体会提供 IP(Intellectual Property)或者真实的芯片。利用这些资源,你可以通过解决方案等实现快速起步,加速公司的成功。

    关于开源社区还有一点十分清楚,那就是它打破了公司与公司、国家与国家之间的壁垒。从西班牙的巴塞罗那到中国的上海,我们社区的人遍布世界各地。在社区中,我们都只是一群工程师,在努力创造最棒的产品、做有意义的事情、尽可能不去注意或与政治相关联。我们就像在一起工作的同事,一起创造并分享很棒的故事。

    《程序员》:RISC-V 如何改变世界?

    Mark: 我们还没有完全改变世界,但我们期待改变世界,并为此奠定了基础。虽然之前有些大型公司也开源了一些芯片,但这些芯片都需要公司的继续支持才能成功。然而,真正在开源中诞生,并拥有如此大规模开源芯片的,我们是第一个。这种拥有所有权的自豪感与拥有 Linux 的私有权一样,会推动人们去做更有意义的事。

    目前我们正处在可以见证历史上所有指令集的工作和风险的阶段,因此我们从中汲取经验,重新赋予指令集足够的灵活性和可扩展性是我们改变世界的方式。从很小的嵌入式应用程序到超级计算机,甚至在更有意义的事上,RISC-V 指令集都可以支持。这种与众不同的灵活性和可扩展性,意味着 RISC-V 拥有满足定制化需求的能力,可以方便人们根据需求添加扩展。

    《程序员》:如果存在 RISC-VI,您最期待什么特性?

    Mark: 其实我刚加入 RISC-V 的时候,就闹了一个关于 RISC-VI 的笑话。David Patterson(大卫·帕特森,图灵奖得主、RISC-V 基金会创始人之一)当时对我说:“Mark,你还不理解。我们是要让 RISC-V 持续 50 年,并具有可扩展性,这就是我们要构建属于自己的架构的原因。我认为你不必去期待 RISC-VI,你需要关注的是我们在 2021 年、2022 年、2023 年要做什么,有哪些新兴市场会对 ISA 、芯片组和计算机有哪些不同的需求。”

    所以现在,RISC-V 就是筹码,不管接下来会发生什么;不管我们需要做什么或要支持什么新兴技术;不管我们的社区真正需要什么,都有一个基础性的 RISC-V 允许我们在其之上进行增添。所以不必重复这种努力,我们可以继续在 RISC-V 上添加各种想要的东西。

    《程序员》:RISC-V 在设计上有怎样的挑战,可以和我们分享一些经验吗?

    Mark: RISC-V 的设计几乎处处都是挑战。毕竟如果没有挑战,我觉得人们可能也不太愿意去做。所幸我们有个非常庞大的社区、拥有 230 余个组织和上千位优秀的贡献者,也因此,想让他们实实在在地推进输出就是最大的挑战。

    不过机遇与挑战同在。这些聪明的人,之前从事过其他架构方面的研究工作,他们经验丰富,知道自己该做的事情,因此我们所能做的,就是保证社区中沟通顺畅,确保社区能有效产生输出,让成员永远可以在社区讨论,维持高质量的对话水平。

    不得不说,这是一个很大的挑战,不过事实证明,这也是我工作的亮点之一:让社区中来自不同时区、不同文化、不同语言、不同国家的优秀人才凝聚在一起,让他们自然而然地去尝试和探索,真正专注在该做的事上。

    One More Thing

    《程序员》:在您的求学生涯和生活当中,谁给您的影响最大?

    Mark: 有两位我想要感谢的人:

    • 一位是 Larry Weber,他是我在 MIPS 时的老板。他给了我良好而扎实的工程实践经验,以及即使遇到陌生的场面,该如何计划和解决问题。
    • 一位是 Anil Gadre, 是我在 Solaris 做 BP 工程师时候的经理,帮助我完成了第一个大项目,也教会了我关注团队自下而上和自上而下的原则。

    两位先生都是很棒的导师,在工业界也做出了很好的事情,我对他们非常感激。

    《程序员》:对于硬件工程师,您有怎样的建议?

    Mark: 我的建议是,永远都要明确自己的价值主张。别把自己当成全能人才,把所有的事情都做了,也不要想着一蹴而就这种不太可能的事情。

    试着去做一些对你而言容易处理的事情,然后最重要的是专注,专注,专注!这不仅是 RISC-V 的优势之一,同时也是我们希望传达给人们的。因为在社区中分享了自己的成果后,人们就可以开始关注自己的能力和客户的需求。

    《程序员》:对于创业的人们,您有怎样的建议呢?

    Mark: 首先,你必须保持专注,然后找到一些提升自我价值的东西。我的建议是,如果打算开一家公司,首先要弄清楚自己的价值定位,可能是成本、规模或者产能。然后专注,不要尝试做所有的事情,选择那些你懂得如何做好和如何盈利的事。

    《程序员》:最后,您想对中国的读者和开发者们说点什么?

    Mark: 我从 90 年代后期开始来中国,那时候我还在 Solaris,对中国的教育水平、信誉水平和产品质量印象深刻。我认为随着时间的推移,情况只会越来越好,我们与中国公司以及中科院、RIOS 等机构都是非常重要的合作伙伴。作为企业家和发明者,他们对我们“怎样实现如此大规模开源”的话题感到好奇和兴奋,这些我都非常感激。

    我想说的是,参与进来,找到你真正热爱的东西并真心投入进去,让我们一起前进,改变世界。

    《新程序员·开发者黄金十年》正式发布

    由近百位专家参与、经数月打磨后,《新程序员001:开发者黄金十年》面向所有开发者正式官宣发布!不仅包含了开发者们一如既往期待与喜爱的全球技术大师深邃思考、优秀开发者技术创造等深度内容,更以数字多媒体的新形态让开发者们随时随地阅读、观看,带来视频图文的多重体验。

    用一位开发者和我们说的话来表达:“当年的那个《程序员》回来了!”

    当年的那个《程序员》不仅回来了,而且洋溢着新的活力。
    加入新程序员读者俱乐部:

    移动端的同学也可以扫码下方二维码加入

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 对于RISC-V的初步学习理解——RISC-V简介

    千次阅读 多人点赞 2018-07-26 22:02:20
    RISC-V,主要区别于当代成熟流行商业内核架构在于,RISC-V是属于开源的内核架构,并且最为重要的一点是,发布RISC-V的基金会和研发机构,允许商家在RISC-V架构上进行非标准的指令扩展,同时不需要对外公开。...
  • RISC-V 自 2011 年推出以来迅速地普及。我们认为一个精简的程序员指南将进一步促进 它的发展,并促使新人理解为什么它是一个有吸引力的指令集,以及它与传统指令集架构 (ISA)的不同。 研究生期间自学资源之一,...
  • 2021-03:«Renematres RISC-V»以及deuxième«semaine RISC-V»àHéneHW Open Group,Rennes et en mondiovision
  • RV-LINK:用RISC-V开发板做RISC-V仿真器

    千次阅读 2019-08-24 22:23:15
    用基于RISC-V的MCU开发板来实现RISC-V的仿真器,取名RV-LINK。用 GD32VF103C-START 和 Longan Nano 实现了调试功能,可以调试 GD32VF103。
  • 研讨会包括超过25场演讲以及Andes Technology的主题演讲 ...内容:RISC-V台湾地区研讨会将展示开放、扩展和国际化的RISC-V生态系统,突出影响RISC-V指令集架构(ISA)未来发展的当前和潜在项目及实施...
  • labeled-RISC-V-源码

    2021-05-15 11:27:03
    基于Rocketchip的标记RISC-V 我们基于火箭芯片构建了带有标签的RISC-V原型。 , 。
  • 在北京、成都、上海、深圳和杭州各举行为期一天的活动,RISC-V基金会成员将讲解和讨论RISC-V的最新应用及进展 上海--(美国商业资讯)--RISC-V基金会: 事项:RISC-V基金会(The RISC-V Foundation)将在中国举办一...
  • RISC-V仿真器 RISC的简单模拟器-V 指数 项目介绍 代码说明 1.项目简介 在这个项目中,我制作了简单的单周期RISC-V模拟器,该模拟器可以执行add,addi,beq,jal,jalr,ld和sd。 我实现了部分源代码,这是下面的过程...
  • 演讲和海报论文提案的提交截止日期为2019年1月11日(周五) --(美国商业资讯)--RISC-V基金会: 事项:台湾地区RISC-V研讨会正在...详情:RISC-V基金会将与Informa的知识与交流部门KNect365合作举办台湾地区RISC-V...
  • 构建一个RISC-V CPU内核 的 , 和提供了有关 课程的资源。 欢迎 恭喜您采取了这一步骤来扩展您对计算机硬件的了解。 目前,没有课程更正或平台问题要报告。 如果有任何问题,请在EdX平台内告知我们。 该课程有很多...
  • risc-v开源核 在本期开放源代码新闻摘要中,我们将了解RISC-V和Linux Foundations的合作,选择化疗药物的开放源代码工具,阿尔巴尼亚实现LibreOffice等等! RISC-V和Linux Foundations合作 芯片设计师ARM几乎在...
  • RISC-V嵌入式开发入门篇1:RISC-V GCC工具链的介绍

    万次阅读 多人点赞 2018-11-01 14:48:12
    本文的目的是对RISC-V GCC工具链进行简单的中文科普与介绍。
  • 活动简介:在RISC-V中国峰会期间,澎峰科技联合DFRobot将在6月24日下午举行同地技术论坛专场活动“玩转RVBoards软硬件开发,点燃RISC-V应用之火”,为您介绍RISC-V OpenSDK软件开发、RVBoards开源硬件和数十款相关...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,946
精华内容 1,178
关键字:

risc-v