初学risc-v,入门了解R-type,I-type,S-type

简介: 初学risc-v,入门了解R-type,I-type,S-type

首先,了解R-type,I-type,S-type等的结构

均为32bit

每部分作用如下

可能会不太懂,没关系,继续往下面看就好!

(记住755357!)

20190525180039428.png


1.R-type

20190525180440144.png

20190525180503775.png


或许还不太懂,下面举个例子:

①首先给出其中两部分的固定值表,只需要根据需要取用即可

20190525180650950.png


②例子来了:

funct7:取自上表add

rs2:x20

rs1:x21

funct3:取自上表add

rd:x9

opcode:取自上表add

操作的结果就是:

x20的值加上x21的值再赋值给x9。

是不是瞬间感觉很简单呢???有木有!

(I,S-type同理,不再细述)

20190525180749803.png


2.I-type

20190525181524454.png


I-type有两种形式,下面给出两个例子

20190525181610529.png

20190525181636429.png


3.S-type

2019052518174585.png

20190525181801787.png


简单命令的类型总结

20190525181836702.png

相关文章
|
存储 JSON Go
Go语言学习 - RPC篇:深入gRPC-Gateway-探索常用数据类型
今天,我们先迈出第一步:探索RPC服务中的数据类型。掌握常见的数据类型,灵活地运用到接口设计中,能帮助我们快速地提供优雅的接口类服务。
245 0
|
安全 编译器
一个指针可以是 volatile 吗
在编程中,指针可以被声明为 volatile,这意味着其指向的值可能在不受程序控制的情况下发生变化。这类指针通常用于处理内存映射的硬件设备或多线程环境,确保编译器不会对访问该指针的读写操作进行优化,从而避免潜在的数据不一致问题。声明一个指针为 volatile 提供了对底层硬件安全访问的保障。volatile 关键字提醒编译器不要假设该变量的值在任何时候都是稳定的。
200 20
|
人工智能 关系型数据库 BI
算术逻辑单元ALU
算术逻辑单元ALU
2951 0
|
定位技术 Python
python高德地图webAPI:地理编码将地址信息转化为经纬度坐标
python高德地图webAPI:地理编码将地址信息转化为经纬度坐标
535 0
python高德地图webAPI:地理编码将地址信息转化为经纬度坐标
|
数据处理
基于ARM的嵌入式原理与应用:ALU的功能与特点
基于ARM的嵌入式原理与应用:ALU的功能与特点
1814 0
|
芯片 存储 算法
芯片验证 | Formal验证技术总结
芯片验证 | Formal验证技术总结
514 0
芯片验证 | Formal验证技术总结
|
算法 SDN C++
以太网帧FCS校验:CRC32的三种实现
这篇文章讨论了CRC32校验码的三种实现方法,用于检测网络通信中的数据错误。首先介绍了基础的按位计算方法,虽然直观但效率低。接着,文章提出了使用非翻转查找表和翻转查找表的快速计算方法,后者在性能上更优。文中提供了C++代码示例,展示如何生成和使用这些查找表。最后,指出在实际应用中,应根据性能需求选择合适的方法。
|
缓存 网络性能优化 SoC
ZYNQ-AXI_GP接口和AXI_HP接口的异同
ZYNQ-AXI_GP接口和AXI_HP接口的异同
1434 0
ZYNQ-AXI_GP接口和AXI_HP接口的异同
【qt】QTableWidget 表格组件3
【qt】QTableWidget 表格组件
338 0
|
存储 缓存 Linux
内存系列学习(三):ARM处理器地址变换过程
内存系列学习(三):ARM处理器地址变换过程
1017 0