第七章RISC-V的取指令

本文探讨了RISC-V架构如何简化取指令过程,包括将指令长度编码置于低位以加速译码,使用jal和jalr指令进行直接和间接跳转,取消分支延时槽,提供静态分支预测依据,以及利用RAS(返回地址堆栈)优化分支跳转预测。同时介绍了蜂鸟E200处理器的具体取指实现。
摘要由CSDN通过智能技术生成

RISC-V架构特点对于取指的简化

 

1:指令长度编码放在低位

  • 得益于后发优势和多年来处理器发展的教训,所有RISC-V处理器的指令长度指示码都放在了低位,可以方便取指逻辑在取指过程中以最快的速度译码出当前指令的长度,极大地简化了硬件的设计
  • 另外,16位压缩指令子集是可选的,假设处理器仅支持32位的而不支持16位的,甚至可以把后两位忽略不存储,因为肯定固定为(11),从而减少了6.25%的指令缓存
  • RISC-V不同指令长度的后几位定义如下图所示,不过除了32位和16位,其他的指令长度格式并不常用

 

2:简单的分支跳转指令

  • 无条件直接分支跳转指令,jal(跳转和链接)指令,用于进入子程序调用,同时将子程序的返回地址存在jal指令的目标寄存器(连接寄存器,link register)。
  • 无条件间接分支跳转指令,jalr(jump and link-register)指令,用于子程序返回指令,通过将jal指令(跳转进入子程序)保存的连接寄存器地址,作为jalr指令的基地址寄存器,则可以从子程序返回。
  • 带条件分支跳转指令,共有六条,他有两个操作数,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值