RISC-V处理器多周期与多线程管道优化技术解析
1. 多周期管道优化
提高多周期管道效率的方法之一是更有效地填充它。编译器可以通过重新排列指令来减少等待周期的数量,但这需要对编译器进行修改。
另一个重要的改进是避免由于下一个程序计数器(PC)计算延迟而导致的未使用周期。这可以通过分支预测器来实现,其工作原理如下:
- 分支预测器根据当前PC(当前PC通常是先前预测的结果)和过去控制流指令目标的一组缓存来预测下一个PC。
- 如果当前PC在其中一个缓存中,意味着它是控制流指令的地址,缓存会给出目标地址,这就是预测结果;否则,预测结果为PC + 1。
- 预测的下一个PC会沿着管道一直转发到写回阶段,在那里与计算出的下一个PC进行比较。如果它们匹配,运行继续;否则,计算出的下一个PC会被送回取指阶段以纠正指令路径。
无论预测是否正确,分支预测器中的目标缓存都会更新。最好的预测器每千条指令的分支错误预测率(MPKI)可达8,即平均每125条指令出现一次错误。
2. 降低启动间隔(II)至1的练习
使用多周期管道时,处理器周期已提高到50 MHz。通过将启动间隔II设置为1,可以使速度翻倍。具体操作步骤如下:
1. 实现II = 1的设计。需要注意的是,取指阶段的下一个PC计算无法从任何解码中受益,因为取指延迟为两个周期(BRAM块延迟),不过BRAM的访问吞吐量为每个周期一次访问。
2. 由于取指持续时间为两个周期,在处理器取指时,应从预测地址开始新的取指。最简单的预测是系统地将下一个PC设置为PC + 1,这种静态预测器的MPKI为控制指令的比例(平均而言,JAL、JALR或已执行分支占1
超级会员免费看
订阅专栏 解锁全文
2067

被折叠的 条评论
为什么被折叠?



