体系结构笔记------动态分支预测

本文介绍了动态分支预测的原理和方法,包括分支历史表(BHT)、分支目标缓冲器(BTB)以及前瞻执行(ROB)的工作机制。动态分支预测通过记录分支指令的执行历史提高预测准确性和适应性,减少流水线停顿。BTB用于快速获取分支目标地址,而ROB则用于处理指令的乱序执行和错误恢复。尽管存在硬件复杂性的挑战,动态分支预测仍是现代处理器提高性能的关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态分支预测

这种方法是直接固定选取分支中的一支,有50%的平均命中率,精度不高适应性几乎没有,但是实现简单。

动态分支预测

在程序运行时,根据分支指令过去的表现来预测其将来的行为。
如果分支行为发生了变化,预测结果也跟着改变;以保证有更好的预测准确度和适应性;
分支预测的有效性取决于:预测的准确性,预测正确和不正确两种情况下的分支开销;
决定分支开销的因素:流水线的结构,预测的方法,预测错误时的恢复策略等。
动态分支预测技术的目的:预测分支是否成功,尽快找到分支目标地址(或指令),避免控制相关造成流水线停顿。
在预测错误时,要作废已经预取和分析的指令,恢复现场,并从另一条分支路径重新取指令

分支历史表BHT

最简单的动态分支预测方法
用BHT来记录分支指令最近一次或几次的执行情况(成功或不成功),并据此进行预测;

1位预测位

只记录最近一次的分支运行情况,BHT中只需要1位二进制位(最简单)。

2位预测位

两位预测位可以记录分支的运行情况,还可以记录预测的情况。其状态转换图如下:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值