Speculative GHR Forwarding
Eliminating Stale Branch-Predictor State in Deep FPGA Pipelines
DOI:
https://doi.org/10.31224/7181Keywords:
RISC-V, pipeline depth, FPGA, Artix-7, branch prediction, gshare, specula- tive GHR forwarding, microarchitecture, reconfigurable computingAbstract
Deeper pipelines raise an FPGA soft core’s clock frequency, but they make every branch misprediction more costly. As depth grows, the global history register (GHR) of a correlation-based branch predictor takes longer to update. The register grows stale and inflates mispredictions, though the predictor hardware is unchanged. We eliminate this penalty with Speculative GHR Forwarding (SGF). Its key idea is that an in- order pipeline’s existing stage registers already hold the per- branch state required for rollback. Recovery therefore needs no reorder buffer, unlike the out-of-order schemes that inspired it. We evaluate SGF on five RISC-V pipelines of four to eight stages, from identical functional-unit hardware on a Xilinx Artix- 7 device. The experiment separates this cost into an inherent flush penalty and a correctable stale-GHR penalty. A history-free control predictor and a thirty-two-fold capacity sweep confirm the latter causally. On the seven-stage pipeline, SGF reduces mispredictions by 31 percent at under 1 percent area on single- history predictors, with no frequency penalty; on multi-table predictors like TAGE it is higher. The cycles-per-instruction gain is modest: SGF is a favorable cost-benefit tradeoff, not a large speedup. The same experiment finds the execute-stage split to be the only frequency knee, making a six-stage pipeline throughput-optimal.
Downloads
Downloads
Additional Files
Posted
License
Copyright (c) 2026 Devansh Joshi, Shafin Ula

This work is licensed under a Creative Commons Attribution 4.0 International License.