RV64 - 64位地址指令

RV64 - 64位地址指令

  • [1 RV64G介绍](#1 RV64G介绍)
  • [2 RV64G增加的指令](#2 RV64G增加的指令)

本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。

1 RV64G介绍

RV32I + RV32M + RV32A + RV32F + RV32D = RV32G,那么RV32G 指令的64 位版本 -- RV64G 指令,其示意图,如下(图9.1 至9.4)所示:



灰色部分是将操作扩展到64 位寄存器的旧RV32指令,而深(红)色部分是RV64的新指令。

由图可见,将RISC-V 扩展为64 位只需加入少数指令:32 位指令的字(word)、双字(doubleword)和长字(long)版本,并将包括PC 的所有寄存器扩展为64 位。因此,RV64I 中sub指令的操作数是两个64 位数,而非RV32I 中的32 位数。RV64 和RV32 很接近,但实际上是不同的ISA:RV64 增加少量指令,基础指令的行为也稍有不同。

尽管RV64I 的地址和默认数据大小均为64 位,32 位字仍是程序中的有效数据类型。因此,像RV32I 需要支持字节和半字操作一样,RV64I 也需要支持字操作。

2 RV64G增加的指令

RV64I增加的指令,如下所示:

RV64M增加的指令,如下所示:

RV64A增加的指令,如下所示:

RV64F增加的指令,如下所示:

RV64D增加的指令,如下所示:

本文中的这些指令较多,具体指令详细含义,见RISC-V指令手册,不再赘述。

相关推荐
若风的雨3 天前
RISC-V入门资料
risc-v
禾仔仔5 天前
RISC-V CLINT、PLIC及芯来ECLIC中断机制分析 —— RISC-V中断机制(一)
risc-v·plic·eclic·clic·clint·中断咬尾·中断嵌套
ssslar5 天前
MIT XV6 - 1.6 Lab: Xv6 and Unix utilities -uptime
操作系统·risc-v·xv6
Thomas_Fly6 天前
RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE
risc-v
sinovoip9 天前
Banana Pi BPI-CM6 是一款八核 RISC-V 模块,兼容 Raspberry Pi CM 载板
risc-v
ssslar10 天前
MIT XV6 - 1.2 Lab: Xv6 and Unix utilities - pingpong
操作系统·risc-v·xv6
乌旭13 天前
算力经济模型研究:从云计算定价到去中心化算力市场设计
人工智能·深度学习·云计算·去中心化·区块链·gpu算力·risc-v
乌旭15 天前
RISC-V GPU架构研究进展:在深度学习推理场景的可行性验证
人工智能·深度学习·架构·transformer·边缘计算·gpu算力·risc-v
ssslar17 天前
MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep 是怎样练成的?
操作系统·risc-v·xv6
黑不拉几的小白兔18 天前
risc-V学习日记(4):RV32I指令集
学习·risc-v