博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Risc-V指令集
阅读量:5826 次
发布时间:2019-06-18

本文共 919 字,大约阅读时间需要 3 分钟。

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。

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

转载地址:http://busdx.baihongyu.com/

你可能感兴趣的文章
SQL Server--用户自定义函数
查看>>
CentOS 6.5安装TortoiseSVN svn client
查看>>
运维利器-ClusterShell集群管理操作记录
查看>>
Response.Write 用法总结
查看>>
dreamweaver jquery代码提示安装,DW JQ代码智能提示
查看>>
英语应用文写作之道歉信
查看>>
Dijkstra算法(三)之 Java详解
查看>>
[Share]如何做好一份前端工程师的简历?
查看>>
【c++】字符串流输出恢复状态问题
查看>>
wordpress自定义post_type,并且自定义固定链接
查看>>
AngularJS中的$resource使用与Restful资源交互(转)
查看>>
Fragment 之 PagerAdapter
查看>>
栈的存储结构的实现(C/C++实现)
查看>>
JS和DOM的关系
查看>>
50.10. 事件调度器(EVENT)
查看>>
工作周记 - 第三周 (2016/06/06 - 2016/06/8) 端午快乐
查看>>
软链接和硬链接的理解
查看>>
[LeetCode] Task Scheduler 任务行程表
查看>>
11.13. reload
查看>>
24.2. Styles
查看>>