https://riscv.org/specifications/

Risc-V文档包括:用户层指令集文档和特权架构文档,下面这两个文件的官网链接。

用户层指令集文档现在的版本是2.2。

Risc-V的指令集是模块化的,用户层指令集主要包括以下模块,其中有些模块已经冻结,未来不大可能再变化,有些模块仍在讨论中,我们主要关注已经冻结的模块。

基础模块 版本 是否冻结 注释
RV32I 2.0 Y base的32位整数指令集,32位地址空间,寄存器是32位
RV32E 1.9 N 嵌入式架构,仅有16个整数寄存器
RV64I 2.0 Y base的64位整数指令集,64位地址空间,寄存器是64位
RV128I 1.7 N base的128位整数指令集,支持128为地址空间
扩展模块 版本 是否冻结  
M 2.0 Y 支持乘法和除法指令
A 2.0 Y 支持原子操作指令和Load-Reserved/store-Conditional指令
F 2.0 Y 单精度浮点指令
D 2.0 Y 双精度浮点指令
Q 2.0 Y 四精度浮点指令
L 0.0 N 十进制浮点数,IEEE754-2008
C 2.0 Y 支持编码长度为16的压缩指令。
B 0.0 N 位操作指令
J 0.0 N 支持动态转化语言
T 0.0 N transactional memory operations
P 0.1 N Packed-SIMD Instructions
V 0.2 N 向量操作指令
N 1.1 N 用户层的终端和异常指令

Risc-V的基础指令集是整数指令集,在任何架构方案中,必须完整实现基础的整数指令集。在整数指令集中,用补码表示符号数。

在整数指令集的基础上,可以选择实现扩展模块,比如RV32IMAFDC,表示当前实现支持这些模块的组合,其中IMAFD是通用组合,用字母G表示,所以RV32IMAFDC,也可以写作RV32GC。现在的Risc-V编译工具链,重点会支持RV32G和RV64G。

Risv-V的指令编码规则:

对于16位压缩指令,它的低两位不等于11,对于RV32,它的[1:0]=11,[4:2]不等于111。对于64位指令,它的低7位位0111111。

我们主要学习一下几个指令集:

RV32I指令集

RV32M指令集

RV32A指令集

RV32FD指令集

RV32C指令集

Risc-V指令集的更多相关文章

  1. smaller programs should improve performance RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构 区别示例

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we l ...

  2. RISC精简指令集系统计算机

    特点: 选用使用频率高的简单指令,复杂指令由简单指令组合完成 固定指令长度 只有Load/Store指令访存,其他指令都在寄存器中进行 CPU中寄存器数量多 一定采用指令流水,大部分指令在一个时钟周期 ...

  3. RV32I基础整数指令集

    RV32I是32位基础整数指令集,它支持32位寻址空间,支持字节地址访问,仅支持小端格式(little-endian,高地址高位,低地址地位),寄存器也是32位整数寄存器.RV32I指令集的目的是尽量 ...

  4. 计算机系统6-> 计组与体系结构3 | MIPS指令集(中)| MIPS汇编指令与机器表示

    上一篇计算机系统5-> 计组与体系结构2 | MIPS指令集(上)| 指令系统从顶层讲解了一个指令集 / 指令系统应当具备哪些特征和工作原理.这一篇就聚焦MIPS指令集(MIPS32),看看其汇 ...

  5. risc与cisc

    RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成 ...

  6. 那些年的那些事CISC和RISC发展中的纠缠

    本文来自http://www.cnbeta.com/articles/224544.htm ARM.ARM.ARM,没错ARM仿佛一夜之间就火了,平板.手机等领域随处可见它的影子,甚至已经有人预言未来 ...

  7. 自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第三篇.我尽量每周四篇 MIPS指令集架构自上世纪80年代出现后.一直在进行着更新换代,从最初的MIPS I到MIPS V,发 ...

  8. ARM汇编指令集_学习笔记(1)

    一.什么是ARM汇编? 运行在ARM处理器上的汇编语言就叫ARM汇编. C程序运行在X86平台,底层就是X86汇编:运行在ARM平台,底层就是ARM汇编.ARM汇编与X86汇编有显著区别. X86属于 ...

  9. CPU指令集设计RISC和CISC

    CPU指令集 硬件实现具有速度快,成本高,灵活性差,软件实现与之相反.因此出现频率高的基本功能首选硬件实现.指令集的不同反映了设计原理.制造技术和系统类别. RISC 精简指令集计算机(Reduced ...

  10. RISC与CISCCPU构架

    RISC 精简指令集 CISC复杂指令集 CISC架构的代表: x86, C51 RISC架构的代码:arm, mips,powerpc, avr, pic 指令集的区别 首先从字面上理解就能知道, ...

随机推荐

  1. 记一次重装系统(.net开发环境重装问题汇总)

    起因: 有一天,我突然感觉到电脑的运行明显变慢,慢的可怕,启动任务资源管理器一看,不看不知道,一看吓一跳,CPU使用率,物理内存皆100%,当时的第一印象,是电脑中病毒了吧!!,进入进程一看,有几个名 ...

  2. SpringMVC框架03——数据绑定

    1.绑定基本数据类型 在Controller类中添加业务方法: /** * 绑定基本数据类型 */ @RequestMapping("/baseType") @ResponseBo ...

  3. Windows上Nginx的安装教程详解

    一 背景 为了方便本地的开发和验证,于是整理了这一篇Windows上安装Nginx的博文,建议一般学习还是使用Linux,一般正规公司都是在Linux上安装Nginx服务! 本篇内容相对比较简单,如果 ...

  4. android listview 优化

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android convertview作用 ======= 1,convertView复 ...

  5. NOIP练习赛题目1

    有些题目可能没做,如计算几何.恶心模拟. 高级打字机 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 早苗入手了最新的高级打字机 ...

  6. hdu 1073 字符串处理

    题意:给一系列的输出和标准答案,比较二者是AC,PE或WA 字符串处理还是比较薄弱,目前没什么时间搞字符串专题,所以遇到一题就努力搞懂 #include<cstdio> #include& ...

  7. C语言程序设计I—寒假作业

    20188480   http://www.cnblogs.com/arthur-w/

  8. hdu 5726 tetrahedron 立体几何

    tetrahedron/center> 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5726 Description Given four p ...

  9. CentOS 7下使用chkconfig添加的服务无法使用/etc/profile里面的环境变量

    经过分析/etc/profile为入口的,基本是登录后执行的变量,而使用chkconfig添加的服务多变以守护经常运行,没有登录. CentOS 7下使用chkconfig添加的服务无法使用/etc/ ...

  10. STM32 GPIO 配置之ODR, BSRR, BRR 详解

    STM32 GPIO 配置之ODR, BSRR, BRR 详解 用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态. ODR寄存器可读可写:既能 ...