Image
Image

9dome猫

+ 关注

粉丝 2     |     主题 142     |     回帖 1593

RISC-V基本介绍(转载)
2022-5-28 13:14
  • RISC-V
  • 27
  • 8449
  总结 RISCV由于其开源性,被大家广泛使用,我们在需要特定的处理器时也可以采用RISCV架构自行开发。同时RI ...  
  目前基于RISC-V架构的开源处理器有很多,既有标量处理器Rocket,也有超标量处理器BOOM,还有面向嵌入式领域 ...  
  2. 开发参考 RISC-V只是定义了一套指令集架构规范,没有具体实现的代码,需要开发者根据该架构手册,通过 ...  
  四、学习资料 1. 官方资料 在RISC-V官网上可以下载基础的ISA手册及特权手册:https://riscv.org/technical ...  
从零开始设计RISC-V处理器——指令系统
2022-5-28 16:08
  • RISC-V
  • 88
  • 4333
  如: addi x4,x0,4 jalr x8,x4,8 二进制:00000000100000100000111111100111 addi x5,x0,5 addi x6,x0,6 ad ...  
  4.JALR:jalr 指令使用 12 位立即数(有符号数)作为偏移量,与操作数寄存器 rs1中的值相加,然后将结果的最 ...  
  在这里我更愿意相信我的假设,也许并不一定正确,但这看起来似乎更合理。以上仅为个人拙见,日后深入学习后 ...  
  基于以上假设再来看上面jal指令的二进制,发现并不是这样,在以上的假设中,立即数应该是2,但汇编器转化出 ...  
  以上的假设便能够合理地解释立即数为[20:1]的原因。  
  于是引发了以下思考(个人观点,未经查证,以后深入学习之后再回来补充):假设立即数其实是21位的,即[20:0 ...  
  (补充:仔细分析上面jal指令的二进制会发现,立即数部分是4,4*2=8,PC+8=12,跳过中间的一条指令,这样看 ...  
  ......  
  如: jal x3,label1 二进制:00000000100000000000000111101111 addi x4,x0,4 label1: addi x5,x0,5 当前PC ...  
  3.JAL:PC+4 的结果送 rd 但不送入PC,然后计算下条指令地 址。转移地址采用相对寻址,基准地址为当前指令地 ...  
  如auipc x2,0xfff,二进制指令:00000000111111111111000100010111 当前PC为4,汇编器执行结果如下: ...  
  2.AUIPC:将20位立即数的值左移12位(低12位补零)成为一个32位数,再加上该指令的pc值,再将结果写回rd。 ...  
  如lui x1,0xffff ,二进制指令:00001111111111111111000010110111 汇编器执行结果如下: ...  
  对指令的理解: 1.LUI:将20位立即数的值左移12位(低12位补零)成为一个32位数,将其写回rd。这一指令主要 ...  
  如下表所示,计划实现以下37条指令。  
  原文链接:https://blog.csdn.net/qq_45677520/article/details/122309083  
2
3