打造IC人才
科技生态圈

RISC-V 指令集基本知识

发布时间:2023-06-07

来源:IC修真院

RISC的英文全称为“Reduced InstrucTIon Set Computer”,即“精简指令集计算机”,是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。

这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

RISC 设计方案非常简约,通常有20 多条简化的指令集。每条指令长度固定,由专用的加载和储存指令用于访问内存,减少了内存的寻址方式,大多数运算指令只能访问操作寄存器。

CPU 中配有大量的寄存器,这些指令的选取都是工程中使用频率最高的指令。由于指令长度一致,功能单一,操作依赖于寄存器,这些特性使得CPU 指令预取、分支预测、指令流水线等部件的效能大大发挥,几乎一个时钟周期能执行多条指令

RISC 的代表产品是 ARM 和 RISC-V。现在,两者已经没有明显的界限了,开始相互融合了

流水线

谈到指令并行,就不得不谈到CPU 核心的流水线。现代处理器都是流水线结构。

流水线(Pipeline)技术是指程序在执行时候多条指令重叠进行操作的一种准并行处理实现技术。通俗的讲将一个时序过程,分解成若干个子过程,每个过程都能有效的与其他子过程同时执行。这种思想最初是在RISC的架构中出现的,旨在提高处理器处理效率,争取在一个时钟周期中完成一条指令。

一般常见的5级流水线有:

无流水线:


有流水线:



它增加了四组寄存器,每一个流水线级数内部都有各自的组合逻辑数据通路,彼此之间没有复用资源,因此,其面积开销是比较大的,但是由于可以让不同的流水线级数同时做不同的事情,而达到流水的效果,提高了性能,优化了时序,增加了吞吐率。

RISC-V

在了解了 RISC 和 CISC 两种计算机指令设计架构后。我们来看看 RISC-V。

RISC-V 的 “V”, 有两层意思,一方面代表第5代 RISC;另一方面, “V”取Variation 之意代表变化。

RISC-V 是什么?

RISC-V 是一套开放许可证书、免费的、由基金维护的、一个整数运算指令集外加多个扩展指令集的CPU 结构规范(ISA)。

整数运算指令集 + 扩展指令集

任何硬件开发商或者组织都可以免费使用这套规范,构建CPU 芯片产品。

指令集命名方式

以RV 为2前缀,然后是位宽,最后代表是指令集的字母集合:

image

指令集模块

指令集模块是一款CPU架构的主要组成部分,是CPU 和 上层软件交互的核心,也是cpu主要功能体现。

RISC-V 规范只定义了CPU 需要包含的基础整型操作指令:

整型的储存

其他指令为可选指令或者用户扩展指令。比如:

扩展指令是芯片工程师根据需求自定义。

所以 RISC-V 采用的是模块化的指令集,易于扩展、组装。它适用于不同的应用场景,可以降低 CPU 实现成本。

image

RISC-V 寄存器

指令的操作数来源于寄存器,精简指令架构的CPU,都会提供大量的寄存器。

RISC-V 的规范定义了32个通用寄存器以及一个PC寄存器,这对于RV32I、RV64I、RV128I 指令集都是一样的,只是寄存器的位宽不一样。

如果要实现支持F/D扩展指令集的CPU,则需要额外支持32个浮点寄存器。而如果实现只支持RV32E指令集的嵌入式CPU,则可以将32个通用寄存器缩减为16个通用寄存器。

image

ABI: 应用程序二进制接口,可以理解为寄存器别名,高级语言在生成汇编会用到。

RSIC-V 特权级

不同的 指令集架构都有特权级的概念,RSIC-V 也不例外,我们来看看RISC-V 的特权级。

不同的特权级能访问的系统资源不同,高特权级的能访问低特权级的资源,反之却不行。

RISC-V 的规范文档定义了四个特权级别(privilege level),特权等级由高到低排列,如下表所示。

image

一个RISC-V 硬件线程(hart),相当于一个CPU 内独立的可执行核心,在任意时刻,只能运行在某一个特权级上,这个特权级由CSR(控制和状态寄存器)指定配置。

具体分级如下:

特权级的存在,是给指令加上了权力,从而去控制指令编写应用程序。应用程序只能干应用程序该干的事情,不能越权操作。操作系统则拥有更高的权力,能对系统资源进行管理。

总结

本文梳理了 芯片、CPU、流水线,指令与架构等基础概念,引出了RISC-V 基础介绍,简单介绍了RISC-V 由来。后续针对risc-v 会根据自身学习情况做相应介绍。

内容转载自:漫谈嵌入式

相关推荐:

RISC-V 指令大全(请收藏)

RISC-V指令集下,芯片突围记

适合新手的RISC-V入门基础知识

立即下载

推荐阅读

换一换