Branch Predictor
ConceptA branch predictor is a dynamic prediction mechanism in a processor's Instruction Fetch (IF) unit that predicts the next Program Counter (PC). In cited RISC-V superscalar evidence (CVA5), the predictor comprises a Branch History Table (BHT) for taken/not-taken direction (using a GShare indexing scheme), a Branch Target Buffer (BTB) for branch target addresses, and a Return Address Stack (RAS) for return addresses. A flush controller in the Instruction Decode stage compares resolved branch outcomes to stored predictions and redirects the pipeline on misprediction. Cited sources describe prediction accuracy above 95% as a verification hazard for mispredicted paths. Cited RTL design evidence treats BHT/BTB sizes as configurable microarchitectural knobs. Cited TaPaFuzz work contributes microarchitecture fixes to the CVA5 RISC-V core allowing it to fully reset its caches and branch predictors between fuzzer runs. Public context highlights load-driven and graph-application branch-predictor research as ongoing optimization avenues.
WIKI
Overview
A branch predictor is a dynamic prediction mechanism in a processor's Instruction Fetch (IF) unit. In cited RISC-V superscalar processor design, the IF unit fetches instructions from the instruction cache and predicts the next Program Counter (PC), i.e., the address of the next instruction to fetch. The dynamic predictor is described as an instrumental part of the IF unit. [citation: IF-unit-next-PC]
Main structures
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →