E906的指令|学习笔记

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 快速学习 E906的指令

开发者学堂课程【高校精品课-大连理工大学-计算机组织与结构:E906的指令】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/3/detail/16052


E906的指令

 

内容介绍

一、E906的指令系统

二、RV32IMAFDCP 指令集

三、平头哥扩展指令集

四、RV32I 整型指令集

 

一、E906的指令系统

E906采用了16/32位混编的 RV32IMAC 指令集,在此基础上扩展了平头哥自定义指令,形成RV32IMAFDCP指令集

- l :整数指令

- M :乘除法指令

- A :原子操作指令

- F :单精度浮点指令

- D :双精度浮点指令

- C :压缩指令

- P : DSP 指令

采用的是16位和32位混编的 RV321MAC 指令集也就是支持整形乘除法原子运算以及压缩指令集在此基础上又扩展了平头哥自定义的指令集,形成了 RV32MAFDCP 指令集各个字母的含义如下所示,l整形指令M乘除法指令,A原子操作指令F单精度浮点指令D 双精度浮点指令C 压缩指令,P 是 DSP 指令。

 

二、RV32IMAFDCP 指令集

口加减法指令

口逻辑操作指令

口移位指令

ロ比较指令

口数据传输指令

ロ分支跳转指令

口内存存取指令

口控制寄存器操作指令

口低功耗指令

口异常返回指令

口特殊功能指令

指令集中包括指令有加减法逻辑操作、移位、比较数据传输分支跳转内存存取控制寄存器的操作低功耗指令异常返回指令和一些特殊功能的指令。

 

三、平头哥扩展指令集

口Cache 操作指令

口同步指令

口扩展算术运算指令

口位操作指令

口访存指令

口双精度浮点高位数据传输指令

口中断加速指令

平头哥给它扩展了一些指令包括 Cache 操作指令同步指令扩展算术运算指令、位操作访存指令,还有双精度浮点高位数据传输指令以及中断加速指令,这是它的指令系统的全貌。

 

四、RV32I 整型指令集

加减法指令

ADD 有符号加法指令

ADDI 有符号立即数加法指令

SUB 有符号减法指令

第一类是加减法指令,包括 ADD 有符号加法,ADD 后面加个 I 就是有符号立即数加法指令,带I的就有一个立即数的运算减法就是 SUB 有符号减法指令逻辑操作呢就是典型的与操作或操作和异或操作。

口移位指令

-SLL 逻辑左移指令

-SLLI 立即数逻辑左移指令

-SRL 逻辑右移指令

-SRLI 立即数逻辑右移指令

-SRA 算术右移指令

-SRAI立即数算术右移指令

移位指令包括逻辑左移、立即数逻辑左移逻辑右移、立即数逻辑右移算术右移和立即数的算术右移。一般的处理器里面算术左移和逻辑左移的功能是一样的,所以没有涉及这条指令。

比较指令

-SLT 有符号比较小于置位指令

-SLTU 无符号比较小于置位指令

-SLTI 有符号立即数比较小于置位指令

-SLTIU 无符号立即数比较小于置位指令

数据传输指令

-LUI 高位立即数装载指令

AUIPC PC 高位立即数加法指令

有符号比较小于置位指令无符号比较小置位指令,有符号数无符号整数的立即数比较小于置位指令

口分支跳转指令

-BEQ 相等分支指令

-BNE 不等分支指令

-BLT 有符号小于分支指令

-BGE 有符号大于等于分支指令

-BLTU 无符号小于分支指令

-BGEU 无符号大于等于分支指令

-JAL 直接跳转子程序指令

-JALR 寄存器跳转子程序指令

内存存取指令

-LB 有符号扩展字节加载指令

-LBU 无符号扩展字节加载指令

-LH 有符号扩展半字加载指令

-LHU 无符号扩展半字加载指令

-LW 有符号扩展字加载指令

-SB 字节存储指令

-SH 半字存储指令

-SW 字存储指令

口低功耗指令

-WFI 进入低功耗模式指令

口异常返回指令

-MRET 机器模式异常返回指令

口特殊功能指令

-FENCE 存储同步指令不可预期

-FENCE .1指令流同步指令阻塞执行

-ECALL 环境异常调用指令

-EBREAK 断点指令

RV32M 乘除法指令如下

-MUL 有符号乘法指令

-MULH 有符号乘法取高位指令

-MULHSU 有符号与无符号乘法取高位指令

-MULHU 无符号乘法取高位指令

-DIV 有符号除法指令

-DIVU 无符号除法指令

-REM 有符号取余指令

-REMU 无符号取余指令

一个处理器支持乘除法的就意味着它内部有硬件的乘法器除法器,MUL 是乘法指令,DIV 是除法指令,取余数指令和除法是一回事,只不过一个要商一个要余数还有原子操作的指令还有压缩指令。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
6月前
|
Kubernetes 监控 容器
k9s常用的指令
K9s 是一个用于 Kubernetes 群集管理的命令行工具,它提供了一系列常用的指令,用于查看、管理和监控 Kubernetes 资源。以下是一些常用的 K9s 指令: 1. **查看资源列表:** - `:po`:查看 Pod 列表。 - `:svc`:查看 Service 列表。 - `:deploy`:查看 Deployment 列表。 - `:ns`:查看 Namespace 列表。 2. **在资源列表中的操作:** - 使用上下箭头键浏览资源列表。 - `Enter` 键进入资源的详细信息视图。 - `d`:删除选定的资源。
361 4
|
Kubernetes API 容器
2022-10-13-k8s的操作指令
2022-10-13-k8s的操作指令
97 0
v-if 指令
1.v-if指令的作用是:根据表达式的真假切换元素的显示状态 2.本质是通过操纵dom元素来切换显示状态 3.表达式的值为true,元素存在于dom树中,为false,从dom树中移除 4.频繁的切换使用v-show,反之使用v-if,前者的切换消耗小
|
JavaScript 前端开发
3、指令(v-if与v-for的区别、各种指令的使用)
3、指令(v-if与v-for的区别、各种指令的使用)
148 0
3、指令(v-if与v-for的区别、各种指令的使用)
|
Go Docker 容器
Dockfile指令
笔记:Dockfile指令
198 0
|
前端开发 安全 JavaScript
内置指令
内置指令
135 0
NgModel指令学习笔记
NgModel指令学习笔记
156 0
NgModel指令学习笔记
|
JavaScript 开发者 索引
v-for 指令的四种使用方式 | 学习笔记
快速学习 v-for 指令的四种使用方式
129 0
|
存储 移动开发 网络协议
AT 指令做 MTQQ 连接 | 学习笔记
快速学习 AT 指令做 MTQQ 连接
408 0
|
网络协议 NoSQL C语言