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

本文共 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://dxrdo.baihongyu.com/

你可能感兴趣的文章
一个×××老鸟的十年一梦----绝对真实!欢迎拍砖!
查看>>
Windows7搭建FTP服务器要点
查看>>
Linux 系统资源查看
查看>>
分步LVS: 详解利用Keepalived+Nginx解决站点高可用性
查看>>
Cocos2d-x3.2 UserDefault用户数据
查看>>
kvm虚拟化
查看>>
ios图片加水印或文字
查看>>
我的友情链接
查看>>
使用Python爬取糗事百科热门文章
查看>>
4月18日
查看>>
6月26日
查看>>
Linux学习笔记(1)
查看>>
SVM入门(二)线性分类器Part 1
查看>>
OpenGL入门学习[二]
查看>>
kafka单机版环境搭建
查看>>
NO.36 敏捷之旅2012年度11月17日深圳站!
查看>>
草编制品为何受青睐
查看>>
互联网女皇2013互联网趋势报告
查看>>
windows下实现mysql备份至异地,并结合计划任务实现自动管理,删除之前的备份。...
查看>>
Spark源码编译
查看>>