- 1
- 2
- 3
- 4
- 5
动态分支预测
资料介绍
一、动态分支预测的基本概念
动态分支预测是处理器流水线架构中,用来解决控制冒险问题的核心技术之一。与静态分支预测依赖指令编码、编译器提示等固定信息判断分支走向不同,动态分支预测依靠程序运行过程中收集到的历史分支信息,实时预测分支指令的跳转结果,预测准确率会随着程序运行不断优化,能够更好地适应程序分支行为的动态变化。
在现代超标量流水线处理器中,取指阶段就需要得到下一条指令的PC值,如果分支指令的方向(跳转/不跳转)和目标地址需要等待执行阶段才能确定,就会导致流水线阻塞,严重降低处理器的指令吞吐率。动态分支预测就是在分支结果确定之前,提前给出预测结果,让流水线可以连续取指执行,从而避免流水线停顿,提升处理器整体性能。
二、动态分支预测的核心问题
动态分支预测需要解决两个核心问题:
1. 分支方向预测:判断当前分支指令是会发生跳转,还是顺序执行下一条指令。
2. 分支目标地址预测:如果预测分支发生跳转,需要提前计算出跳转的目标地址,供流水线取指使用。
三、经典动态分支方向预测算法
1. 1位饱和计数器预测
1位预测是最简单的动态预测算法,用1个二进制位记录分支最近一次的执行结果:该位为1表示上次分支发生跳转,预测本次也跳转;该位为0表示上次分支不跳转,预测本次也不跳转。
1位预测器的实现非常简单,硬件开销极小,但存在明显缺陷:对于循环分支来说,循环每次退出的时候都会预测错误——比如循环执行N次,1位预测会在最后一次退出的时候发生错误,同时下一次进入循环的第一次也会预测错误,总共有两次错误,对性能影响较大。
部分文件列表
| 文件名 | 大小 |
| 动态分支预测.docx | 16K |
最新上传
-
21ic小能手 打赏5.00元 1天前
-
21ic下载 打赏310.00元 2天前
用户:gsy幸运
-
21ic下载 打赏320.00元 2天前
用户:jh03551
-
21ic下载 打赏320.00元 2天前
用户:jh0355
-
21ic下载 打赏210.00元 2天前
用户:zhengdai
-
21ic下载 打赏210.00元 2天前
用户:江岚
-
21ic下载 打赏210.00元 2天前
用户:潇潇江南
-
21ic下载 打赏60.00元 2天前
用户:小猫做电路
-
21ic下载 打赏60.00元 2天前
用户:烟雨
-
21ic下载 打赏60.00元 2天前
用户:mulanhk
-
21ic下载 打赏60.00元 2天前
用户:w993263495
-
21ic下载 打赏20.00元 2天前
用户:w178191520
-
21ic下载 打赏20.00元 2天前
用户:liqiang9090
-
21ic下载 打赏20.00元 2天前
用户:kk1957135547
-
21ic下载 打赏20.00元 2天前
用户:sun2152
-
21ic下载 打赏20.00元 2天前
用户:w1966891335
-
21ic下载 打赏15.00元 2天前
用户:xuzhen1
-
21ic下载 打赏15.00元 2天前
用户:x15580286248
-
21ic下载 打赏10.00元 2天前
用户:wjr111
-
21ic小能手 打赏10.00元 2天前
-
21ic小能手 打赏5.00元 2天前
资料:STM32密码锁仿真
-
x1707 打赏1.00元 3天前
-
lanmukk 打赏60.00元 3天前
-
lanmukk 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏310.00元 3天前
用户:mulanhk
-
21ic下载 打赏310.00元 3天前
用户:潇潇江南
-
21ic下载 打赏210.00元 3天前
用户:小猫做电路
-
21ic下载 打赏210.00元 3天前
用户:gsy幸运
-
21ic下载 打赏210.00元 3天前
用户:zhengdai
-
21ic下载 打赏140.00元 3天前
用户:jh0355
-
21ic下载 打赏130.00元 3天前
用户:jh03551
-
21ic下载 打赏60.00元 3天前
用户:lanmukk
-
21ic下载 打赏60.00元 3天前
用户:kkkopj
-
21ic下载 打赏70.00元 3天前
用户:cooldog123pp
-
21ic下载 打赏20.00元 3天前
用户:烟雨
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:w178191520




全部评论(0)