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指令手册,不再赘述。

相关推荐
ChipCamp12 天前
ChipCamp探索系列 -- 1. Soft-Core RISC-V on FPGA
fpga开发·verilog·risc-v
ChipCamp15 天前
Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
开发语言·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
思尔芯S2C17 天前
Cost-Effective and Scalable: A Smarter Choice for RISC-V Development
fpga开发·risc-v·soc设计·prototyping
ChipCamp19 天前
Chisel芯片开发入门系列 -- 14. CPU芯片开发和解释4(Load/Store指令再探)
arm开发·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
芝士爱沙拉23 天前
智能落地扇方案:青稞RISC-V电机 MCU一览
单片机·嵌入式硬件·risc-v·电机驱动
OpenAnolis小助手1 个月前
RISC-V基金会Datacenter SIG月会圆满举办,探讨RAS、PMU性能分析实践和经验
开源·龙蜥社区·risc-v·datacenter sig·龙蜥社区risc-v sig
月光技术杂谈1 个月前
《RISC-V 导论:设计与实践》开源课件(附下载链接)
开源·risc-v·课件
月光技术杂谈1 个月前
上海RISC-V峰会-香山开源RISC-V CPU随想随记
verilog·risc-v·chisel·vhdl·香山·开源cpu·xiangshan
随风ada1 个月前
Windows、macOS、liunx下使用qemu搭建riscv64/linux
linux·windows·ubuntu·macos·golang·qemu·risc-v
openKylin1 个月前
填补空白!openKylin率先完成RISC-V商业打印驱动全适配
risc-v