Loading...
墨滴

moo

2021/05/19  阅读:27  主题:全栈蓝

Awesome-riscv

本文档持续更新 收集在RVISCV学习过程中的链接汇总

RISC-V 指令集概括

   RISC-V(发音为“risk-five”)是一种新型指令集体系结构(ISA)。Risc-V的基础指令集是整数指令集,在任何架构方案中,必须完整实现基础的整数指令集。    RISC-V的基础指令集主要通过整数寄存器的长度来区分,比如RV32I,在该指令集方案中,整数寄存器的长度为32位,在RV64I指令集方案中,整数寄存器的长度为64位。对于RV32I,由于整数寄存器是32位,所以可以提供2^32=4GB的地址访问空间,对于RV64I,整数寄存器是64位,所以可以提供2^64=4194304TB的地址访问空间。通常用xlen表示整数寄存器位数或者说地址空间位数,所以对于RV32I, xlen=32, 对于RV64I, xlen=64。
   在整数指令集的基础上,可以选择实现扩展模块,比如RV32IMAFDC,表示当前实现支持这些模块的组合,其中IMAFD是通用组合,用字母G表示,所以RV32IMAFDC,也可以写作RV32GC。具体的模块特点在下面扩展模块表格中有详细说明

RISC-V的指令集主要包括以下模块 模块分别有处于批准(Ratified)、草案(Draft)和冻结(Freeze)三种状态 。

基础模块

模块 特点
RVWMO RiscV内存一致性模型。
RV32I 基础的32位整数指令集,32位地址空间,寄存器是32位
RV64I 基础的64位整数指令集,64位地址空间,寄存器是64位
RV32E 嵌入式架构,仅有16个整数寄存器
RV128I 基础的的128位整数指令集,支持128位地址空间。

扩展模块

模块 特点
M 支持乘法和除法指令
A 支持原子操作指令和Load-Reserved/store-Conditional指令
F 单精度浮点指令
D 双精度浮点指令
Q 四精度浮点指令
C 支持编码长度为16的压缩指令
Counters 性能统计Counters
L 十进制浮点数
B 位操作指令
J 支持动态转化语言
T 内存操作事务机制
P Packed-SIMD 指令
V 向量操作指令
Zicsr 控制和状体寄存器指令
ZiFencei Instruction-Fetch Fence
Zam 非对齐的原子指令
Ztso Total Store ordering

Specifications

RISC-V官方文档

IP设计厂商文档

芯来科技

官方文档与工具汇总

芯来公司的RVMCU论坛

SiFive

阿里平头哥

晶心科技

其他文档

The RISC-V Reader(有中文版)

moo

2021/05/19  阅读:27  主题:全栈蓝

作者介绍

moo