分支预测分析
背景
业务中在高频调用代码段会出现条件判断语句, 因此联想cpu架构中的分支预测功能, 进行简要分析....流水线/非流水线对比
流水线架构: 基于MIPS架构的CPU五级流水线, 在一个时钟周期最多可以同时处理五个独立步骤:
a: 读取指令(Instruction Fetch).
b: 解码指令和读取寄存器...避免控制冒险的方法:
1. 在分支指令后插入流水线冒泡, 直到分支指令的流水执行完毕.
?
2. 使用分支预测(在分支指令执行结束之前猜测哪一路分支将会被运行), 然后投机执行....Strategy 4: 维护没有分支跳转的表, 如果当前分支在表中, 预测不跳转, 反之预测跳转....使用-O3编译优化等级或开启-ftree-vectorize编译优化选项, 生成条件移动汇编指令.
逻辑代码中模拟CMOV, 避免显式分支逻辑语句出现.
引用
[1] Filsinger, M.