RISV的一些学习记录

在设计一款处理器之前,我们需要确定他的指令集架构。而指令集架构又包括指令格式、寻址方式、指令类型。

指令格式

  • 用于寄存器-寄存器的R型指令
  • 用于短立即数和访问load的I型指令
  • 用于访问store的S型指令
  • 用于条件分支跳转的B型指令(6条)
  • 用于长立即数的U型指令
  • 用于无条件分支跳转的J型指令(2条)

寻址方式

  • 加载和存储支持的唯一类型寻址方式是符号扩展12位立即数到基地址寄存器
  • 分支指令寻址方式是12位立即数乘以2,符号扩展它,将得到的值加到PC上作为分支的跳转地址

指令类型

1.运算类指令:用于实现算术,逻辑,比较等;
2.分支转移指令:实现条件转移,无条件转移等运算,没有延时槽
3. 加载和存储指令:实现字节、半字,字的加载、存储操作,采用的都是寄存器相对寻址方式
4. 控制与状态寄存器访问指令:实现系统控制与状态寄存器的读-写操作,原子读-修改,原子读-清零等操作
5. 系统调用指令:实现对系统调用,调试等功能

这种指令格式规范有序,有着数学之美,优点如下:

  • 这种格式可提高性能功耗比,指令只有6种格式,并且所有的指令都是32位长,这简化了编码;
  • RSIC-V指令提供三个寄存器操作数,而不是像x86-32一样,让源操作数和目的操作数共享一个字段,减少了软件的程序操作【减少了一条move指令,来保存目的寄存器的值】
  • 对于所有指令,要读写的寄存器标识符总是在同一位置,将源寄存器和目标寄存器固定在同样位置,以简化指令译码。【意味着在解码之前,就可以先访问寄存器
  • 这些格式的立即字段总是符号扩展,符号位总是在指令中最高位。意味着可能成为关键路径的立即数符号扩展,可以在指令解码之前进行。

访问指令

  • RISC-V架构的指令数目很简洁,基本指令只有47条,采用小端格式,采用松散存储器模型
  • RISC-V架构只有6条带条件跳转指令,减少指令的条数,同时硬件设计上更简单
  • RISC-V对于没有分支预测器的低端CPU,采用静态分支预测机制,对于配有硬件分支预测器的高端CPU,还可以采用高级的动态分支预测机制来保证性能。

RISC-V 优点

  1. 32位字节寻址空间
  2. 所有指令均为32位长
  3. 31个寄存器组,全部为32位宽,寄存器0硬连线为零
  4. 所有指令操作都是寄存器到寄存器,访问快(没有寄存器到内存操作)
  5. 加载/存储字加上有符号和无符号加载/存储字节和半字
  6. 所有算术、逻辑和移位指令都有立即数版本的指令
  7. 立即数总是符号扩展
  8. 仅提供一种数据寻址模式(寄存器+立即数)和PC相对分支
  9. 无乘法或除法指令
    10.一个指令,用于将大立即数加载到寄存器的高位,这样加载32位常量到寄存器只需要两条指令。
    参考:
    zhuanlan.zhihu.com/p/264836697
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RISC-V(Reduced Instruction Set Computer - Five)是一种开源的指令架构(ISA),它具有以下几个好处: 1. 开放性和自由度高:RISC-V是一个开源的指令架构,任何人都可以免费使用、设计和定制。这使得RISC-V非常适合于教育、研究和创新,同时也促进了硬件和软件的生态系统的发展。 2. 简洁而灵活的指令集:RISC-V采用了精简的指令集设计,使得指令集更加简洁和易于理解。同时,RISC-V还提供了可选的扩展指令集,可以根据需求进行定制,从而满足不同应用场景的需求。 3. 跨平台兼容性:RISC-V的指令架构是与特定硬件实现无关的,这意味着可以在不同的处理器架构上实现RISC-V指令集,并且可以在不同的操作系统上运行RISC-V程序。这种跨平台兼容性使得RISC-V成为了一个通用的指令架构。 4. 高性能和低功耗:由于RISC-V采用了精简的指令集设计,使得指令执行更加高效。同时,RISC-V还支持硬件流水线和超标量技术,可以提高指令的并行执行能力,从而提高处理器的性能。此外,RISC-V还支持动态电压频率调节(DVFS)等功耗优化技术,可以降低处理器的功耗。 5. 可扩展性和可定制性:RISC-V提供了可选的扩展指令集,可以根据应用需求进行定制。这种可扩展性和可定制性使得RISC-V非常适合于各种不同的应用场景,包括嵌入式系统、物联网设备、高性能计算等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值