E906的指令|学习笔记

简介: 快速学习 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 是除法指令,取余数指令和除法是一回事,只不过一个要商一个要余数还有原子操作的指令还有压缩指令。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
存储 缓存 人工智能
玄铁 E906处理器简介|学习笔记
快速学习玄铁 E906处理器简介
3642 0
玄铁 E906处理器简介|学习笔记
一个免费功能强大的谷歌翻译api
分享一个免费且功能强大谷歌翻译api
11518 2
一个免费功能强大的谷歌翻译api
|
7月前
|
监控 Cloud Native Java
阿里云可观测联合 Datadog 发布 OpenTelemetry Go 自动插桩工具
阿里云联合社区推出 OpenTelemetry Go 编译时自动插桩方案,基于 -toolexec 实现零代码修改的链路追踪与监控,支持 HTTP、gRPC 等常用框架,低开销、高兼容,助力 Go 应用无缝接入可观测体系。
487 2
|
8月前
|
机器学习/深度学习 数据采集 人工智能
构建AI智能体:五十九、特征工程:数据预处理到特征创造的系统性方法
摘要:特征工程是将原始数据转化为机器学习模型可理解格式的关键步骤,类比于食材烹饪过程。其核心包括数据清洗(处理缺失值、异常值)、特征转换(标准化、分箱)、特征创造和特征选择。通过员工离职预测案例,展示了如何通过单变量分析(满意度、工作时长分布)、多变量分析(满意度与绩效关系)和业务分析(部门薪资组合)构建有效特征。特征工程能提升模型性能(如使用简单模型获得好效果)、增强可解释性(明确风险因素)并减少数据需求。
480 5
|
3月前
|
SQL JSON 关系型数据库
【MySQL】《MySQL 索引核心+8.0索引新特性 面试背诵清单》(附:EXPLAIN执行计划完整教程+《MySQL 8.0 索引新特性速查表》)
《MySQL索引核心面试背诵清单》精讲B+树原理、聚簇/二级索引、最左前缀、覆盖索引与失效场景;配套EXPLAIN深度解析(type/key_len/Extra);并系统梳理MySQL 8.0不可见索引、降序索引、函数索引、跳跃扫描等7大新特性,附实战测试模板——助你高效备战技术面试。
|
消息中间件 存储 监控
消息队列通信的优缺点
【10月更文挑战第29天】消息队列通信具有诸多优点,如解耦性强、异步通信、缓冲削峰等,能够有效地提高系统的灵活性、可扩展性和稳定性。但同时也存在一些缺点,如系统复杂性增加、性能开销、数据一致性挑战和实时性受限等。在实际应用中,需要根据具体的业务需求和场景,权衡其优缺点,合理地选择和使用消息队列通信机制,以实现系统的高效运行和优化。
【第二章】信号与槽——connect函数的用法
【第二章】信号与槽——connect函数的用法
|
存储 Linux Docker
跨cpu架构部署容器技术点:怎样修改Linux 的内核版本
在使用Docker 进行跨平台部署之后,我们还可以尝试进行跨架构部署。 从X86 架构上移植到 aarch64 上。
691 0
|
IDE 开发工具 Android开发
eclipse自动补全及其空格键优化(去除空格自动补全)
本文介绍了如何在Eclipse IDE中配置自动补全功能,并提供了去除空格键自动补全代码的技巧。
eclipse自动补全及其空格键优化(去除空格自动补全)
|
存储 算法 索引
从点云重建表面 Surface Reconstruction from Point Clouds
从点云重建表面 Surface Reconstruction from Point Clouds
1406 3

热门文章

最新文章