在RISC-V指令集手册中,shift立即指示:
手册中提到
通过常数移位被编码为I类型的特化 格式。要移位的操作数在rs1中,移位量为 在I-immediate字段的低5位编码。正确的转变 type被编码在I-immediate的高位中。 SLLI是合乎逻辑的 左移(零移位到低位); SRLI是合乎逻辑的 右移(零位移到高位);和SRAI是一个 算术右移(原始符号位被复制到 空出的高位)。
据说
移位量在I-immediate的低5位中编码 字段。
如何准确编码?
答案 0 :(得分:6)
您可以直接在RISC-V规范中找到答案。
imm[11:5] imm[4:0] rs1 func3 rd opcode inst
------------------------------------------------------------
0000000 shamt rs1 001 rd 0010011 SLLI
0000000 shamt rs1 101 rd 0010011 SRLI
0100000 shamt rs1 101 rd 0010011 SRAI
至于延迟,ISA只处理架构而非微架构。 这意味着符合两个RISC-V的CPU可以在不同的时钟周期内执行移位。