分岐ターゲットバッファ(BTB)
過去の分岐(ジャンプ)がどこへ飛んだかを覚えておくCPU内のキャッシュ。ジャンプ先のアドレスが計算される前に予測できるため、投機的パイプラインを止めずに命令を供給し続けるうえで欠かせない。
問題の所在:CPUが分岐(if文、関数呼び出し、ループ)に出会っても、行き先はすぐには分からない。しかし深いパイプラインは待っていられない。分岐予測器が分岐が成立するかどうかを推測するのに対し、BTBは履歴に基づいて行き先(ターゲットアドレス)を推測し、正しい場所からすぐ命令の取得を続けられるようにする。当たればパイプラインは止まらず進み、外れれば先回りして取得した命令を破棄しなければならず(高価な「フラッシュ」)、損失は大きい。関連する部品に、関数の戻り先に特化したリターンスタックバッファがある。BTBの精度は性能に直結し、その挙動はSpectreの変種などのサイドチャネル攻撃にも悪用されてきた。現代の分岐予測の中核をなす部品である。