首页 » 互联网 » RISC-V科普:理解开源的ISA_存放器_指令

RISC-V科普:理解开源的ISA_存放器_指令

admin 2024-11-13 17:53:10 0

扫一扫用手机浏览

文章目录 [+]

RISC-V 开放指令集架构是当今可用的专有架构(例如 ARM 的那些)的盛行替代方案。
自出身以来,RISC-V 在学术和商业上的逐渐遍及。

理解 RISC 与 CISC

RISC-V科普:理解开源的ISA_存放器_指令 RISC-V科普:理解开源的ISA_存放器_指令 互联网

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

RISC-V科普:理解开源的ISA_存放器_指令 RISC-V科普:理解开源的ISA_存放器_指令 互联网
(图片来自网络侵删)

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

为相识释繁芜指令和大略指令之间的差异,表 1 显示了利用 CISC CPU( NXP 的 s08)和 RISC CPU(ARM Cortex M0+ )递增计数器变量的代码比较。

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

在该表中,CISC 许可在单条指令中递增变量,而 RISC 须要通过加载和存储来访问内存。
只管这显示了代码大小的差异,但这并不是 apple to apple的比较,由于架构之间存在许多差异,因此这并不能证明一个在技能上优于另一个。

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

RISC-V 历史

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

从 1980 年快进到 2010 年,第五代 RISC 研究项目的开拓开始了,终极被称为 RISC-V。

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 发展的高等韶光表。

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

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:压缩指令扩展

图 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 运用程序二进制接口中指定的功能。

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。

由于以下解释,这种压缩是可能的:

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

2.一个操作数常日会被覆盖。

3.有一些首选的立即数。

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

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

其他 RISC-V 扩展

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

RISC-V 实现

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

图 3. RISC-V 框图示例,即 P550 高性能运用场置器的框图。

然而,实际的 RISC-V 项目并不局限于集成电路。
在许多领域,如编译器、仿照器、开拓环境、操作系统等,有大量正在进行的项目。

总而言之,RISC-V 是打算机体系构造天下中一个令人愉快的话题,本日是参与个中的好机遇。
如果您想理解有关此运动的更多信息,请务必访问RISC-V International。

★ 点击文末【阅读原文】,可查看本文原文链接!

与30万半导体精英一起,订阅您的私家芯闻秘书!
欢迎订阅摩尔精英旗下更多"大众年夜众号:摩尔精英、半导体行业不雅观察、摩尔App\公众 data-from=\"大众0\公众>

免责声明:本文由作者原创。
文章内容系作者个人不雅观点,半导体行业不雅观察转载仅为了传达一种不同的不雅观点,不代表半导体行业不雅观察对该不雅观点赞许或支持,如果有任何异议,欢迎联系半导体行业不雅观察。

本日是《半导体行业不雅观察》为您分享的第3069内容,欢迎关注。

晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装

原文链接!
标签:

相关文章

图像合写,易语言背后的智慧与未来

随着科技的飞速发展,人工智能逐渐成为我们生活中不可或缺的一部分。在众多人工智能领域,易语言作为一种独特的编程语言,以其独特的图像合...

互联网 2025-01-04 阅读0 评论0

圆通面单协议,构建高效物流体系的基石

随着我国经济的快速发展,物流行业在我国经济中的地位日益凸显。作为物流行业的领军企业,圆通速递在业内享有较高的声誉。而圆通面单协议,...

互联网 2025-01-04 阅读0 评论0

图形描述语言,开启视觉沟通新时代

随着信息时代的到来,人类对于信息传递的需求日益增长。传统的语言文字已经无法满足日益复杂的沟通需求,而图形描述语言作为一种新兴的视觉...

互联网 2025-01-04 阅读0 评论0