Taming Wild Branches: Overcoming Hard-to-Predict Branches using the Bullseye Predictor

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Behrendt, Emet, Pun, Shing Wai, Nair, Prashant J.
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910994698076160
author Behrendt, Emet
Pun, Shing Wai
Nair, Prashant J.
author_facet Behrendt, Emet
Pun, Shing Wai
Nair, Prashant J.
contents Branch prediction is key to the performance of out-of-order processors. While the CBP-2016 winner TAGE-SC-L combines geometric-history tables, a statistical corrector, and a loop predictor, over half of its remaining mispredictions stem from a small set of hard-to-predict (H2P) branches. These branches occur under diverse global histories, causing repeated thrashing in TAGE and eviction before usefulness counters can mature. Prior work shows that simply enlarging the tables offers only marginal improvement. We augment a 159 KB TAGE-SC-L predictor with a 28 KB H2P-targeted subsystem called the Bullseye predictor. It identifies problematic PCs using a set-associative H2P Identification Table (HIT) and steers them to one of two branch-specific perceptrons, one indexed by hashed local history and the other by folded global history. A short trial phase tracks head-to-head accuracy in an H2P cache. A branch becomes perceptron-resident only if the perceptron's sustained accuracy and output magnitude exceed dynamic thresholds, after which TAGE updates for that PC are suppressed to reduce pollution. The HIT, cache, and perceptron operate fully in parallel with TAGE-SC-L, providing higher fidelity on the H2P tail. This achieves an average MPKI of 3.4045 and CycWpPKI of 145.09.
format Preprint
id arxiv_https___arxiv_org_abs_2506_06773
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Taming Wild Branches: Overcoming Hard-to-Predict Branches using the Bullseye Predictor
Behrendt, Emet
Pun, Shing Wai
Nair, Prashant J.
Hardware Architecture
Machine Learning
Performance
C.1.2; B.2.1; C.4; C.0
Branch prediction is key to the performance of out-of-order processors. While the CBP-2016 winner TAGE-SC-L combines geometric-history tables, a statistical corrector, and a loop predictor, over half of its remaining mispredictions stem from a small set of hard-to-predict (H2P) branches. These branches occur under diverse global histories, causing repeated thrashing in TAGE and eviction before usefulness counters can mature. Prior work shows that simply enlarging the tables offers only marginal improvement. We augment a 159 KB TAGE-SC-L predictor with a 28 KB H2P-targeted subsystem called the Bullseye predictor. It identifies problematic PCs using a set-associative H2P Identification Table (HIT) and steers them to one of two branch-specific perceptrons, one indexed by hashed local history and the other by folded global history. A short trial phase tracks head-to-head accuracy in an H2P cache. A branch becomes perceptron-resident only if the perceptron's sustained accuracy and output magnitude exceed dynamic thresholds, after which TAGE updates for that PC are suppressed to reduce pollution. The HIT, cache, and perceptron operate fully in parallel with TAGE-SC-L, providing higher fidelity on the H2P tail. This achieves an average MPKI of 3.4045 and CycWpPKI of 145.09.
title Taming Wild Branches: Overcoming Hard-to-Predict Branches using the Bullseye Predictor
topic Hardware Architecture
Machine Learning
Performance
C.1.2; B.2.1; C.4; C.0
url https://arxiv.org/abs/2506.06773