Risc-V指令集
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。
我们主要学习一下几个指令集:
Risc-V指令集的更多相关文章
- smaller programs should improve performance RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构 区别示例
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we l ...
- RISC精简指令集系统计算机
特点: 选用使用频率高的简单指令,复杂指令由简单指令组合完成 固定指令长度 只有Load/Store指令访存,其他指令都在寄存器中进行 CPU中寄存器数量多 一定采用指令流水,大部分指令在一个时钟周期 ...
- RV32I基础整数指令集
RV32I是32位基础整数指令集,它支持32位寻址空间,支持字节地址访问,仅支持小端格式(little-endian,高地址高位,低地址地位),寄存器也是32位整数寄存器.RV32I指令集的目的是尽量 ...
- 计算机系统6-> 计组与体系结构3 | MIPS指令集(中)| MIPS汇编指令与机器表示
上一篇计算机系统5-> 计组与体系结构2 | MIPS指令集(上)| 指令系统从顶层讲解了一个指令集 / 指令系统应当具备哪些特征和工作原理.这一篇就聚焦MIPS指令集(MIPS32),看看其汇 ...
- risc与cisc
RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成 ...
- 那些年的那些事CISC和RISC发展中的纠缠
本文来自http://www.cnbeta.com/articles/224544.htm ARM.ARM.ARM,没错ARM仿佛一夜之间就火了,平板.手机等领域随处可见它的影子,甚至已经有人预言未来 ...
- 自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第三篇.我尽量每周四篇 MIPS指令集架构自上世纪80年代出现后.一直在进行着更新换代,从最初的MIPS I到MIPS V,发 ...
- ARM汇编指令集_学习笔记(1)
一.什么是ARM汇编? 运行在ARM处理器上的汇编语言就叫ARM汇编. C程序运行在X86平台,底层就是X86汇编:运行在ARM平台,底层就是ARM汇编.ARM汇编与X86汇编有显著区别. X86属于 ...
- CPU指令集设计RISC和CISC
CPU指令集 硬件实现具有速度快,成本高,灵活性差,软件实现与之相反.因此出现频率高的基本功能首选硬件实现.指令集的不同反映了设计原理.制造技术和系统类别. RISC 精简指令集计算机(Reduced ...
- RISC与CISCCPU构架
RISC 精简指令集 CISC复杂指令集 CISC架构的代表: x86, C51 RISC架构的代码:arm, mips,powerpc, avr, pic 指令集的区别 首先从字面上理解就能知道, ...
随机推荐
- HttpServlet Service方法
service() 方法是执行实际任务的主要方法.Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端. 每次服务器接 ...
- Web Service(一):初识
1. 前言 cxf 在项目中应用好久了,一直没有写总结,现在补上. 由于cxf 属于Web Service的一个实现,所以先学习和总结一下Web Service,作为学习cxf的基础. 2. WebS ...
- VA插件突然不能使用,彈出“the security key for....”
昨天打開VS莫名其妙地彈出下面的錯誤框: "the security key for this program currently stored on your system does no ...
- java集合之Link的比较
概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). 现在,我们再回头看看总结一下List.内容包括:第1部分 List概括第2部分 ...
- Codeforces Round #396 (Div. 2) B. Mahmoud and a Triangle 贪心
B. Mahmoud and a Triangle 题目连接: http://codeforces.com/contest/766/problem/B Description Mahmoud has ...
- Codeforces Round #369 (Div. 2) B. Chris and Magic Square 水题
B. Chris and Magic Square 题目连接: http://www.codeforces.com/contest/711/problem/B Description ZS the C ...
- Software UART, Timer, PWM, External Interrupt
How can you add extra hardware UARTs to a 32bit TMS470 ARM7-based microcontroller at zero cost? Solu ...
- Win10年度更新开发必备:VS2015 Update 2正式版下载汇总
========================================================================== 微软在03月30日发布了Visual Studio ...
- AngularJS过滤排序思路
本篇主要整理使用AngularJS进行过滤排序的思路. 在controller中,$scope的persons字段存储数组. $scope.persons = [ { "name" ...
- 在Visual Studio中使用组件图描述项目组件依赖关系
如果想描述项目组件的关系,可以考虑使用UML组建图. 在建模项目下添加一个名称为"Applicaiton Component Structure"的UML组建图. 添加各个组件,并 ...