riscv-boom's bp 预测器的组合逻辑级联代码实现所有预测器的连接(config-mixins.scala:603-609): 123456789101112// 初始输入(全0预测)val resp_in = (0.U).asTypeOf(new BranchPredictionBankResponse)// 组合逻辑链ubtb.io.resp_in(0) := resp_inbim.io.resp_in(0) 2025-12-02 计算机体系结构 #分支预测
riscv-boom's loop loopThe Loop Predictor specializes in predicting loop exit branches.It learns the iteration count of loops and predicts the loop exit when the learned count is reached. Structure: Small table (16 set 2025-12-02 计算机体系结构 #分支预测
riscv-boom's tage TAGE is the most advanced branch predictor in BOOM. It uses multiple prediction tables indexed by different history lengths to achieve high accuracy. Key Concepts: Multiple tables with geometrically 2025-12-02 计算机体系结构 #分支预测
riscv-boom's btb btbThe Branch Target Buffer (BTB) caches branch target addresses to provide fast prediction of where branches will go. Structure: Set-associative cache (default: 128 sets, 2 ways) Each entry stores: 2025-12-02 计算机体系结构 #分支预测
riscv-boom's bim bimThis module implements a Bimodal Branch Predictor using 2-bit saturating counters. The prediction is based on the MSB of the counter: Counter = 0 (00): Strongly Not Taken Counter = 1 (01 2025-12-02 计算机体系结构 #分支预测
riscv-boom's ubtb ubtbThis is the set-associative variant of the Micro BTB, as opposed to the fully-associative FAMicroBTB. It uses indexed addressing like a cache. Structure: 256 sets by default (configurable) Each e 2025-12-02 计算机体系结构 #分支预测
Branch Prediction for riscv-boom Branch PredictionBOOM uses two levels of branch prediction: a fast Next-Line Predictor (NLP) a slower but more complex Backing Predictor (BPD) In this case, the NLP is a Branch Target Buffer and the 2025-11-27 计算机体系结构 #分支预测
预测器关键参数 分支预测器的性能指标上一篇文章研究了一个供学习研究的分支预测器 biriscv_npc,顺便量化了这个分支预测器的性能(唯一指标就是分支准确率,已经包含各个分支指令执行次数的权重,想想为什么)。 这篇文章来研究各个参数对于分支预测器的影响,以及为什么影响。 BTB 容量处理器的 BTB 大小是有限的(比如 512 个条目)。当需要存入第 513 个分支指令的预测信息时,必须覆盖掉某一个旧条目。选择 2025-11-26 计算机体系结构 #分支预测
biriscv_npc 性能分析 分支预测器性能统计基本信息当 branch_request_i 拉高: RAS 学习如果 BTB 命中或者不命中: btb_pc_q 更新:btb_pc_q[btb_wr_entry_r] <= branch_source_i btb_is_call_q 更新:btb_is_call_q[btb_wr_entry_r]<= branch_is_call_i btb_is_re 2025-11-18 计算机体系结构 #分支预测
biriscv_npc 分析 biriscv bp这是 bp 的 IO 信息: 1234567891011121314151617181920212223242526272829303132333435363738394041module biriscv_npc//-----------------------------------------------------------------// Params//------ 2025-11-17 计算机体系结构 #分支预测