Correlating Branch Prediction with Two-Level Predictors

To understand and simulate correlating branch prediction techniques used in modern processors. This experiment aims to:

  1. Demonstrate Branch Prediction: Understand how correlating branch predictors improve instruction pipeline efficiency by predicting branch outcomes using global history patterns.

  2. Visualize Two-Level Prediction: Observe how global history registers and pattern history tables work together to capture complex branch behavior patterns across multiple branches.

  3. Analyze Prediction Accuracy: Study how different history lengths and pattern history table sizes affect prediction accuracy for various program behaviors.

  4. Examine History Correlation: Understand how the outcomes of previous branches influence current branch predictions and how this correlation improves accuracy over simple predictors.