为什么riscv的JAL指令中的立即偏移位顺序改变了?

jac*_*per 5 encoding instructions riscv

位域如下图所示

J格式

我不明白对位字段进行重新排序有什么意义。

RISC-V处理器执行该指令时是否有特殊的操作?

Chr*_*ris 2

混洗的目的是减少从跨不同指令类型的立即数构造全尺寸操作数时涉及的多路复用器数量。

例如,符号扩展位(驱动很多线)始终相同(inst[31])。您还可以看到,在 I 类型、S 类型、B 类型和 J 类型指令中,imm[10] 几乎总是位于同一位置。