繁体   English   中英

我不明白的Risc-v指令

Risc-v instruction that i dont understand

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有这个risc v代码:

lui S0, 0x1234
ori S1, S0, 0x5678
add S2, S1, S1

这个问题问我:“寄存器S2有什么作用?” 这个问题解释了lui和我引用:

将立即imm的下半字加载到寄存器rt的上半字。寄存器的低位设置为0

我不知道如何“编译这个程序”,0x1234是什么意思? 谢谢

2 个回复

一次一个地说明。 首先是load-upper-immediate ,立即( 0x1234 )并将其“加载”到S0寄存器的上半部分并将下半部分清零:

lui S0, 0x1234 

S0 = 0x12340000

接着是or-immediate ,我们或者S0中的值为0x5678

ori S1, S0, 0x5678

   0x12340000
OR 0x00005678
   ----------
   0x12345678 = S1

最后添加 ,我们将S1中的值添加到自身中,或者等效地将S1中的值乘以2:

add S2, S1, S1

  0x12345678
+ 0x12345678
  ----------
  0x2468ACF0 = S2

所以S2寄存器中的值是0x2468ACF0 注意,我假设32位字。 立即就像一个常量,所以lui是一个将常量放入寄存器上半部分的指令。 结合ori ,您可以将整个单词立即加载到寄存器中。

“LUI将U-immediate值放在目标寄存器rd的前20位,用零填充最低的12位。” - riscv-spec-v2.2

所以,lui s0,0x1234

s0应为0x01234000

2 硬件如何识别 RISC-V 压缩指令?

这是我第一次在 stackoverflow 上提问,我对这个问题做了一些搜索。 如果我遗漏了什么,请告诉我。 我想问一下硬件是怎么识别RVC指令的。 例如,我取了一条 32 位指令,想判断第一个 16 位是否是 RCV 指令。 我的问题是关于 LUI 指令。 LUI 以 20 位立即数开始。 ...

2021-11-03 14:24:23 1 14   riscv
4 如何找出RISC-V指令的指令格式

有没有办法从指令的opcode字段[6:0]中找出指令格式(R / I / S / B / U / J)? 我搜索了ISA手册,但找不到它。 这对于解码指令非常重要,还是我错过了必不可少的东西? ...

2020-07-16 16:38:30 0 95   riscv
5 RISC-V 分支偏移机器指令编码

解码后的RISC-V汇编指令是什么:0001100 01010 11100 100 10001 1100011? 从规范中我知道,操作码是 BLT 指令和 rs1 = x28,rs2 = x10。 但是编码的偏移量是什么? imm[12|10:5]是 0001100 = 12 而imm[4:1| ...

7 GPL的RISC-V实现?

我是否可以在GPL-v3下发布RISC-V实现(用VHDL或Verilog编写)? 如果是这样,我还需要提供哪些额外的“信用”等? RISC-V网站上的常见问题解答表明,ISA规范获得了BSD许可证,但BSD许可证专门用于讨论许可源代码和二进制文件,因此我不明白它们是如何应用它的。 ...

2016-02-06 23:10:24 3 611   riscv
8 RISC-V 调用约定

我已阅读此 alr: https ://riscv.org/wp-content/uploads/2015/01/riscv-calling.pdf 但仍然无法弄清楚 RISC-V 将参数放入哪个寄存器。 fibonacci.c 的代码是这样的: .s 代码格式是这样的: 我尝试更改 ...

2020-10-19 06:48:39 1 285   riscv
10 创建自定义 RISC-V 指令时无法识别的操作码

我已经下载了rocket-chip仓库和相应的rocket-tools仓库。 当我最初构建所有东西时,一切都很好。 我已经为 AES 算法创建了自己的紧耦合加速器,并希望使用custom-0和custom-1指令对其进行测试。 我已经按照riscv-isa-sim库( https://github ...

暂无
暂无

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

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