Skip to content

Latest commit

 

History

History
68 lines (32 loc) · 2.31 KB

RISC-V_MCU_Analysis.md

File metadata and controls

68 lines (32 loc) · 2.31 KB

一、基本介绍

RISC-V是一款基于RISC思想的开源ISA。该ISA由UC Berkeley的David A. Patterson教授带头开发,有着架构简单、工具链完整、模块化设计等优点。下面将介绍一些RISC-V的特性

  1. 模块化ISA

RISC-V使用模块化的指令集,I代表基本指令集,包含了整数运算指令、LS指令与跳转指令。针对I指令集,有RV32、RV64和RV128来满足不同的字长需要。除I之外,还有M(乘除指令集)、A(原子操作指令集)、F(单精度浮点指令集)、D(双精度指令集)、Q(四精度指令集)、C(压缩指令集)等,其中一些指令需要特别的硬件支持。当存在减少功耗面积的需要时,也可以使用E(嵌入式指令集,与I基本相同)

  1. 可配置通用寄存器

RISC-V支持32、64、128位架构,每个包含32(I)个或16(E)个整数通用寄存器,其中X0寄存器永远置0。

若使用了F或D,则还需额外配置32个32位(F)或64位(D)浮点通用寄存器

  1. 规整指令编码

寄存器索引在指令的固定位置,加快解码速度

  1. 简单的访存

同其他RISC架构相同,通过单独的LS指令来访存,但也有一些特别的地方:

(1) 推荐地址对齐访存,但也支持非对齐访存

(2) 仅支持小段格式

(3) 不支持自增或自减模式

(4) 采用relaxed memory model

  1. 高效跳转

仅需1条指令即可执行条件跳转

  1. 简洁调用

不使用load/store multiple指令,可电路实现或使用公用程序库

  1. 无“条件码指令”

  2. 无delay slot

  3. 无零开销硬件循环

  4. 产生运算错误时不产生异常,通过其他方法检错

  5. 对于常用指令存在压缩形式(16位)

  6. 可自定义扩展

二、缺点分析

相较于ARM这样成熟的RISC体系,RISC-V也存在一些相应的缺点:

1、 生态建设不足

作为一个较新的架构,针对RISC-V的生态建设还不够丰富。相对ARM和MIPS等成熟的架构,RISC-V的应用还十分地有限。同时,RISC-V对Java、Python等语言的支持也远不如成熟架构

2、 工具链完善程度有限

虽然有开源的工具链,但相较成熟的商业化工具链,其性能还是有所差距。这也是限制RISC-V进一步扩大应用范围的原因之一

三、操作系统支持