繁体   English   中英

RISC-V 立即编码符号究竟是如何工作的?

[英]How exactly does the RISC-V immediate encoding notation work?

我以为我已经理解了这一点,但我想我自己很困惑。

RISC-V RV32G 编码

我的印象是 [11:0] 是编码中立即位的顺序。 例如, addi x1, x2, 12的立即数为 000000001100; 立即数将从addi指令编码中的第 20 位开始。

我很困惑这个逻辑如何应用于 U 型编码 [31:12] 中使用的相同符号。 我知道 U 型立即数是 20 位,但我现在不确定如何解释这个符号。

U-type 用于lui ,其中立即数进入 Rd 的20 位,低 12 位被清除。 或者对于auipc ,同样的解码; [31:12]来自指令,低 12 位是隐式 0。

因此,位数是解码值内的 position ,而不仅仅是立即数本身。

图中的 position 显示了机器编码中每个值位的来源 [hi:lo]位范围数字显示该字段映射到哪个值位(在完整的 32 位或 64 位整数中)。

有关 RISC-V 立即数的 rest 的更多一般信息,请参阅 ISA 文档中的设计评论,在几个 SO Q&A 中引用和扩展:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM