BranchPredictionSim

BranchPredictionSim is a branch predictor simulator designed to evaluate various branch prediction techniques commonly used in modern processors. This simulator models different predictors and analyzes their effectiveness using SPECint95 benchmark traces.

Features

  • Smith Predictor: Implements an n-bit counter predictor with configurable bit-width.
  • Bimodal Predictor: Uses program counter bits to index a table of counters for branch prediction.
  • GShare Predictor: Incorporates global branch history to improve prediction accuracy.
  • Hybrid Predictor: Combines Bimodal and GShare predictors with a chooser table to select the best prediction strategy dynamically.

The simulator processes branch trace files, records prediction outcomes, and calculates misprediction rates, offering insights into the performance of different prediction strategies. Code is close source until end of the spring 2025 semester.