(2) 分支预测实现
算法是基础,有了算法后,就可以在处理器中实现分支预测功能。Intel的分支预测模块包含了3个单元:
1. Branch Target Buffer(BTB)
2. The Static Predictor
3. Return Stack
基本的BTB结构如下:
BTB(Branch Target Buffer)
分支指令在执行后,会将这条指令的地址以及它的跳转信息记录在BTB中。BTB buffer不会太大,不能将所有的分支指令都存进去,通常采用Hash表的方式存入。在取指时,先将PC(程序指针)和BTB中的分支指令的地址进行比较,如果找到了,说明这条指令是分支指令,并且在BTB