1

Riscv32 和 Riscv64 有什么区别?我一直在研究 ISA 文档,但在任何地方都找不到清楚地提到它,所以现在很困惑。

不幸的是,我无法从谷歌找到任何关于此的文档。任何指针?

4

2 回答 2

5

RISC V 有很多选择。RV32I 和 RV64I 是基本指令集,分别为 32 位和 64 位。还有一个 128 位版本 RV128I 和一个较小的 32 位版本 RV32E,它只有 16 个通用寄存器,而其他有 32 个寄存器。

对于基本指令集,它们添加了可选的扩展,例如浮点、乘法和除法等,因此就像 RV32IMAC 基于 RV32I 以及 M、A 和 C 扩展。

RV32I、RV64I 和 RV128I 之间的主要区别在于寄存器的宽度,宽度为 32、64 或 128 位。

也有一些操作码差异。较大的宽度增加了一些指令来处理较大的尺寸。例如,RV64I 使用与 RV32I 相同的操作码进行加法,但表示 64 位加法而不是 32 位加法,而 RV64I 中有一个新的操作码用于仅进行 32 位加法 (addw)。RV64I 使用与 RV32I 相同的操作码进行加载和存储,但包括用于加载/存储 64 位值的新操作码。

也可以看看:

于 2020-07-09T16:27:05.813 回答
0

RISC 64 位架构具有相同的指令长度(32 位),但 CPU 的寄存器是 64 位宽,而不是 RISC 32 位版本中的 32 位宽。

于 2021-12-07T15:40:25.340 回答