BTB Overview
在服务器工作场景下,大多数 CPU 会采用解耦合式前端(Intel, ARM, AMD 等)和 FDIP 的 ICache Prefetch 以提高前端的供指能力。但由于 BTB 容量有限,服务器场景下的指令 footprint 太大,导致分支预测很容易将跳转分支视为非分支,从而导致 Fetch Target Queue 被错误路径填充,而预测错误又会冲刷整个 Fetch Target Queue 和流水线,导致较大的瓶颈
很多专利采用了新型的 BTB 设计以缓解上述 BTB 容量不足的问题:
| Inc | Title | Patents |
|---|---|---|
| Intel | Segmented branch target buffer based on branch instruction type | US12190114B2 |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.