蜂鸟E203 硬件学习-两级流水线的实现(二)

本文详细介绍了RISC-V架构中蜂鸟E203处理器的IFU(指令 fetch unit)模块,包括IFU的ICB接口、PC生成、指令分支预测和微型译码。内容涵盖了ITCM和Icache的区别、分支跳转指令的处理、静态和动态分支预测方法,以及BTB和RAS在预测地址中的作用。
摘要由CSDN通过智能技术生成

(一)IFU模块
在这里插入图片描述
(1)根据PC的地址访问ITCM或者BIU (地址判别与ICB总线MASTER接口) (e203_ifu_ift2icb.v)
首先存储器ITCM与Icache的优缺点:

  • ITCM(Tightly Coupled Memory):访问延迟小且每次访问的延迟固定,但是由于使用地址区间寻址,无法映射整个地址空间(由于极低功耗处理器都应用于实时性较高的场景中,更倾向于延迟确定的ITCM)
  • Icache:访问延迟较ITCM要大,且如果发生cache miss情况,延迟就会增大,所以访问延迟不是固定的,但是cache可以映射整个地址空间。

由于蜂鸟E203支持压缩指令集,所以指令的地址可能不对齐,但是处理器的理想状况是能够连续不断地在每一个周期读出一条完整的指令。
对于普通指令非对齐的情况,可以使用剩余缓存(leftover Buffer)即保存上一次取指令没有用完的比特位,下一次使用。只用到16位大小有两种情况:

  • 将此次取出的32位低16位与上一次取出的高16位组成一条32位指令(将上次的高16位存放在leftover Buffer)
  • 这个指令本身只有16位

分支跳转指令非对齐:由于跳转指令的话,前一次所取到的高16位没有作用。一半采用多体(Bank)的SRAM进行指令存储。使用两块32位宽的SRAM交错存储,两个连续的32位指令字会被分别

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值