0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V 简介——理解 RISC 的开放式 ISA

海阔天空的专栏 来源:海阔天空的专栏 作者:海阔天空的专栏 2022-08-25 17:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文是 RISC-V 基础知识的入门读物。公开了开放式架构理念,以及模块化 ISA 的技术描述,以及一些商业 RISC-V 微处理器实现。

RISC-V 开放指令集架构是当今可用的专有架构(例如 ARM 的那些)的流行替代方案。自诞生以来,RISC-V 稳步获得了学术和商业上的普及。

了解 RISC 与 CISC

RISC 是 1980 年代提出的一种计算机架构哲学,作为英特尔、摩托罗拉和几乎所有其他人当时提供的商业架构的替代方案。这种架构最初被称为“复杂指令集计算机”或 CISC,它依靠密集指令集来实现被认为有用和必要的各种操作。然而,包括IBM和加州大学伯克利分校在内的许多研究团队发现,编译器通常最终使用这些复杂指令集的一小部分。这一发现和其他发现引发了对更大指令集的需求的质疑,将重点放在简单性作为提高效率的一种手段。

总体而言,RISC 在许多方面与 CISC 是相反的。通常,CISC中央处理单元 (CPU)有一些寄存器和大量指令,其中大部分都可以访问内存,而 RISC CPU 有很多寄存器和非常有限的指令集,内存访问仅限于少数加载和存储指示。

为了说明复杂指令和简单指令之间的区别,表 1 显示了使用 CISC CPU( NXP 的 s08)和 RISC CPU(ARM Cortex M0+ )递增计数器变量的代码比较。

表 1.CISC 和 RISC 代码之间的示例比较。

poYBAGMHPKKAYs6ZAABEfqnlzh4476.png

在该表中,CISC 允许在单条指令中递增变量,而 RISC 需要通过加载和存储来访问内存。尽管这显示了代码大小的差异,但这并不是苹果对苹果的比较,因为架构之间存在许多差异,因此这并不能证明一个在技术上比另一个更好。

今天,英特尔 x86/x64 架构证明了 CISC 微处理器没有被 RISC 取代,而 ARM 架构证明了 RISC 已经主导了移动设备市场。

RISC-V 历史

RISC 的首字母缩写词是 1980 年左右由加州大学伯克利分校的 David Patterson 教授创造的,他与斯坦福大学的 John Hennessy 教授合作产生了他们著名的著作《计算机组织与设计》和《计算机架构:一种定量方法》。由于他们在 RISC 架构上的工作,他们在 2017 年获得了ACM AM 图灵奖。

从 1980 年快进到 2010 年,第五代 RISC 研究项目的开发开始了,最终被称为 RISC-V(发音为“risk-5”)。

RISC-V International——一个开放的 ISA

RISC-V 是一种开放指令集架构 (ISA),这意味着您可以自由地在微处理器或微控制器中实现 RISC-V CPU,而无需向使用此 ISA 的任何人支付版税。

RISC-V International 是一家全球非营利组织,拥有并维护 RISC-V ISA 知识产权。其主要目标之一是保持 RISC-V 的设计基于简单性和性能,而不是专注于商业利益。出于这个原因,RISC-V International依赖于其代表微处理器生态系统群体的成员,从个人到谷歌、英特尔和英伟达等组织。成为会员有很多好处,包括为 ISA 的设计做出贡献的可能性,以及投票批准提议的更改。在下面的图 1 中,您可以看到多年来 RISC-V 发展的高级时间表。

pYYBAGMHPKOAURYqAACfY2TwSMM662.jpg

图 1.自 2010 年问世以来,RISC-V 一直受到微处理器行业的好评,在硬件和软件方面的采用率一直在稳步增长。图片由RISC-V International提供

RISC-V ISA 和扩展的约定

作为始于 1980 年的第五代研究项目,RISC-V 是一种经验丰富的架构,旨在在其他人过去可能失败的情况下取得成功,RISC-V 旨在从任何潜在的过去错误中学习。

出于这个原因,RISC-V 被设计为模块化 ISA,而不是传统的增量 ISA。这意味着 RISC-V 实现由强制的基本 ISA 和许多 ISA 扩展组成,因此可以根据应用程序的需要定制定制 CPU。

自定义 ISA的命名约定由字母 RV(用于 RISC-V)后跟位宽和变体标识符组成。

例如,图 2 所示的 RV32IMAC 表示:

RV32I:带有基本整数 ISA 的 32 位 CPU

M:整数乘除法扩展

A:原子指令扩展

C:压缩指令扩展

Figure_3_Understanding_basics_risc-v.jpg

图 2.RV32IMAC ISA 的指令集显示了 RISC-V 的模块化(非增量)特性。强制性基本 ISA 与一组扩展相结合 [点击放大]。

编译器被告知目标 CPU 中包含的扩展,以便它生成可能的最佳代码。如果代码包含缺少扩展的指令,则硬件会捕获并执行标准库中的软件功能。

基本整数 ISA

只有 47 条指令,RV32I 基本整数 ISA 实现了绝对必要的操作,以实现 32 位整数的基本功能(其 64 位变体是 RV64I)。此 ISA 以 32 位编码,包括以下指令:

添加

减法

位运算

加载和存储

跳跃

分支机构

基本 ISA 还指定了 32 个 CPU 寄存器,它们都是 32 位宽,加上程序计数器。唯一的特殊寄存器是 x0,它总是读取 0,正如在许多以前的 RISC ISA 中实现的那样。

尽管表 2 中显示的所有寄存器都可用于一般用途,但应用程序二进制接口 (ABI) 根据其调用约定为每个寄存器指定了用途。这意味着一些寄存器应该保存临时或保存的数据、指针、返回地址等。

表 2.RV32I 寄存器文件显示硬件寄存器名称及其在 RISC-V 应用程序二进制接口中指定的功能。图片由Krste Asanović 和 Randy H. Katz提供

poYBAGMHPK6APchFAADUda6HFuM891.jpg

RISC-V 乘法和浮点

RV32M 扩展实现了 8 条指令来对整数执行乘法和除法(RV64M 在这 8 条指令的基础上增加了 5 条指令)。

RV32F 扩展为 32 位浮点数和 26 条浮点指令增加了 32 个独立的寄存器。同样,RV32D 扩展使用 32 个 64 位浮点寄存器,支持双精度 64 位浮点数。

RISC-V 压缩指令

RV32C 扩展是对 RISC-V ISA 的巧妙补充,因为它为现有指令的特殊子集提供了另一种 16 位编码。

在分析了现代优化编译器生成的无数行代码后,RISC-V 的创建者确定了最流行的指令,并创建了 16 位版本,放弃了其完整 32 位版本的部分功能,这些功能在无论如何,RV32I 基础 ISA。

由于以下说明,这种压缩是可能的:

有些寄存器比其他寄存器更受欢迎。

一个操作数通常会被覆盖。

有一些首选的立即数。

这允许将有限数量的寄存器的指令编码为操作数,仅指定 2 个寄存器而不是 3 个,使用小的立即数,所有这些都在 16 位中。

通过压缩最常用的指令,您有更好的机会显着压缩程序。

其他 RISC-V 扩展

还有许多额外的扩展,它们实现了现代微处理器所期望的所有功能。这包括嵌入式基础 ISA (RV32E)、原子操作 (A)、位操作 (B)、向量操作 (V) 的扩展,等等。

RISC-V 实现

许多公司在其微控制器、微处理器和 SoC 中制造各种 RISC-V 内核。一个例子是 SiFive,第一家制造基于 RISC-V ISA 的硅的公司。他们的芯片范围从低端微控制器一直到高性能 SoC。

pYYBAGMHPLGAbE47AACbMEkugE4697.jpg

图 3.RISC-V 框图示例,即 P550 高性能应用处理器的框图。图片由SiFive提供

然而,实际的 RISC-V 项目并不局限于集成电路。在许多领域,如编译器、模拟器、开发环境、操作系统等,有大量正在进行的项目。有关项目的详细列表,您可以访问此 GitHub以了解更多信息。

总而言之,RISC-V 是计算机体系结构世界中一个令人兴奋的话题,今天是参与其中的好时机。如果您想了解有关此运动的更多信息,请务必访问RISC-V 国际网站。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ISA
    ISA
    +关注

    关注

    0

    文章

    57

    浏览量

    44388
  • RISC
    +关注

    关注

    6

    文章

    485

    浏览量

    86099
  • 架构
    +关注

    关注

    1

    文章

    533

    浏览量

    26506
  • RSIC-V
    +关注

    关注

    4

    文章

    16

    浏览量

    6899
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么RISC-V是嵌入应用的最佳选择

    最近RISC-V基金会在社交媒体上发文,文章说物联网和嵌入系统正在迅速发展,需要更高的计算性能、更低的功耗和人工智能。RISC-V是为未来而建的,包括超高效的MCU到高性能应用处理器,RIS
    的头像 发表于 11-07 10:09 1298次阅读

    深度数智亮相2025年RISC-V北美峰会,携手共创开放式AI计算未来

    2025年RISC-V北美峰会堪称全球开放硬件社区发展的又一重要里程碑,RISC-V迈出国际标准化第一步——获ISO/IECJTC1授予PAS提交者资格。对深度数智而言,这次盛会正是我们展示创新成果
    的头像 发表于 10-28 17:22 436次阅读
    深度数智亮相2025年<b class='flag-5'>RISC-V</b>北美峰会,携手共创<b class='flag-5'>开放式</b>AI计算未来

    大湾区RISC-V生态全景展示:RISC-V生态发展论坛、开发者Workshop和生态应用专区

    继7月份上海的RISC-V中国峰会之后,中国RISC-V生态和产业发展最新动态将在10月份深圳的湾芯展上全景展示。   RISC-V,这个以开放、简约、模块化重塑处理器架构格局的开源指
    的头像 发表于 10-13 09:18 310次阅读
    大湾区<b class='flag-5'>RISC-V</b>生态全景展示:<b class='flag-5'>RISC-V</b>生态发展论坛、开发者Workshop和生态应用专区

    明晚开播 |开源芯片系列讲座第28期:高性能RISC-V微处理器芯片

    是一种开放(Open)指令集架构(ISA)标准。本报告探讨了RISC-V指令集架构标准区别于其它主流ISA的不同特点,以及这些特点对于国产微处理器芯片(CPU)的重
    的头像 发表于 07-29 17:02 1052次阅读
    明晚开播 |开源芯片系列讲座第28期:高性能<b class='flag-5'>RISC-V</b>微处理器芯片

    RISC-V 手册

    以下是关于RISC-V的详细介绍,结合其核心技术特点与当前发展现状:核心概念RISC-V(第五代精简指令集)是一种基于精简指令集(RISC)的开源指令集架构(ISA),由加州大学伯克利
    发表于 07-28 16:27 11次下载

    RISC-V 的平台思维和生态思维

    RISC-V 的魅力在于以模块化、开源、开放的指令集为底座,通过平台化技术框架降低芯片与应用开发门槛,并以协同共建的产业生态弥合碎片、加速落地。因此,高通高级副总裁 Leendert van
    发表于 07-17 14:04 4086次阅读

    RISC-V International CEO:RISC-V 应用全面开花,2031 年渗透率将达 25.7%

    RISC-V International CEO Andrea Gallo 分享的主题是《From ISA to Industry: Accelerating Technical Progress
    发表于 07-17 10:28 3561次阅读
    <b class='flag-5'>RISC-V</b> International CEO:<b class='flag-5'>RISC-V</b> 应用全面开花,2031 年渗透率将达 25.7%

    直播预约 |开源芯片系列讲座第28期:高性能RISC-V微处理器芯片

    RISC-V是一种开放(Open)指令集架构(ISA)标准。本报告探讨了RISC-V指令集架构标准区别于其它主流ISA的不同特点,以及这些特
    的头像 发表于 07-14 17:34 995次阅读
    直播预约 |开源芯片系列讲座第28期:高性能<b class='flag-5'>RISC-V</b>微处理器芯片

    RISC-V的未来应走向何方

    半导体行业正孜孜不倦地推动创新,在这个过程中,做出正确选择,正成为芯片成功的关键因素。在众多操作系统、编译器、调试器和其他工具的选项中,开放RISC-V指令集架构(ISA)正在加速普及。这种
    的头像 发表于 04-01 09:30 833次阅读

    芯来科技亮相RISC-V Day Tokyo 2025

    产品、行业领袖、开发者与生态伙伴。大家共同探索RISC-V架构的技术突破与产业应用,实现相互协作,推动RISC-V生态的开放与繁荣。
    的头像 发表于 03-03 14:07 1027次阅读

    开放·连接 ”2025玄铁 RISC-V 生态大会议程公布!

    2025年2月28日,我们诚邀您参与“开放·连接 ”2025玄铁 RISC-V 生态大会。与来自全球的行业专家、技术领袖、企业决策者和 RISC-V 资深工程师共赴北京,一同探讨技术趋势、行业洞见及产业未来,齐心共筑
    发表于 02-24 16:25

    关于RISC-V芯片的应用学习总结

    RISC-V芯片作为一种基于精简指令集计算(RISC)原则的开源指令集架构(ISA)芯片,近年来在多个领域展现出了广泛的应用潜力和显著优势。以下是对RISC-V芯片应用的总结。
    发表于 01-29 08:38

    RISC-V MCU技术

    的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统
    发表于 01-19 11:50

    RISC-V 与 ARM 架构的区别 RISC-V与机器学习的关系

    指令集架构(ISA),由加州大学伯克利分校的研究团队于2010年发起。RISC-V的主要特点是其开放性和灵活性,允许任何人自由使用、修改和分发,无需支付许可费用。这种开放性使得
    的头像 发表于 12-11 17:50 4346次阅读

    如何使用 RISC-V 进行嵌入开发

    RISC-V是一种开源的指令集架构(ISA),它允许任何人设计、制造和销售基于RISC-V的处理器,这为嵌入开发提供了极大的灵活性和创新空间。以下是使用
    的头像 发表于 12-11 17:32 2747次阅读