RISC-V 简介(2)RISC-V指令集的特点及分类

作者:IC知识库 Yvonne

1.RISC-V指令集特点

上一篇RISC-V 简介(1)RISC-V的由来对RISC-V发展的背景进行了描述,通过与CISC架构的比较,以及与其他RISC架构的比较,将RISC-V的重要性和优势简单列了出来。本文将简单介绍RISC-V的指令集特点及分类。 RISC-V指令集除了有标准的32位,还有64和128位架构。64位架构的通用寄存器是64位的,而128位架构的通用寄存器是128位的,相对应的程序计数器(program counter,PC)也分别为64位和128位。RISC-V指令集功能强大的64位和128架构面向主流的PC(私人电脑),laptop(笔记本)和server(服务器),但是还没有进行成熟的商业发展,比如嵌入式系统。多核系统和高效先进流水线系统的发展使得以RISC-V为架构的系统变成X86和ARM系统有力的竞争对手。 计算机体系结构的传统方法是增量指令集,新的处理器不仅仅要实现新的指令集扩展,还必须实现过去所有的指令集,目的是为了保证向后的兼容性,这里以X86和ARM为例:

  • X86自1978年被发明出来,平均每个月,它增加了大约三条指令 [1]。这意味着X86的每个更新实现都必须包括之前的扩展,不管是实用的指令集,还是已经没有意义的错误设计。这样做的坏处是,用户需要支付的费用随着指令集的增加而不断增加。

  • ARM架构分为A(application),R(real-time),M(embedded)三个系列,各个系列已经优化过设计,不具备模块组合功能。而X86不具备模块化的特点。

RISC-V指令集采用模块化的架构设计,可以做到成本,功耗,性能等方面的平衡。RISC-V的核心是:

1)RV32I的基础指令集,它是固定的,永远都不会改变。这为使用者和开发者提供了稳定的目标。

2)RISC-V指令集的可模块化,和模块的可组合使得其可以适应不同的设计要求。比如,如果要用作数据信号处理器(digital signal processor, DSP),就需要加上乘除法模块进行数据处理,而可能不需要原子指令集。也就是说,其他的模块都是可选的,不会成为不使用的累赘,从而造成糟糕的用户体验。

3)RISC-V的模块发展,只会是出于科技的原因,由基金会决定,即使添加了新的模块,是否选择使用的权力,还是在用户手中。

2.RISC-V 指令集分类

RISC-V分为I,M,E,C,F,D,A,Q,L,B等子集,如图1(这里是最新版本的指令子集)所示:

  • 基本配置子集:基本配置子集是由RV32I ,RV32E ,RV64I ,RV128I四种类型组成。

IC知识库:RISC-V 简介(2)RISC-V指令集的特点及分类

你可能感兴趣的:(risc-v)