在服务器工作场景下,大多数 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