Branch Predictor

In this project, you will implement the simulator of a touranment branch predictor and execute it on program traces.

Start the implementation with the following paramaters:

Run the program on the long trace file (provided below) and get the misprediction rate. The small trace file can be used to test your program.

The format of each line in the trac files is as follow:

    Instruction # : PC (in Hex) : Instruction type : Execution 

You only need to consider instruction type of 'B' (branches), for which 'Execution' is 0 (not taken) or 1 (taken).

Tweak the parameters and find two other configurations that can yield clear improvement of prediction. Show the configurations and the corresponding misprediction rate. Provide explanation on the probable reasons of the improvement.

The following items should be included in your submission in a single zipped file:

  1. Source code
  2. A document with instructions to compile and execute your program, the parameters used, and the answers asked for in the above description.

Due: Oct 28th, 23:59:59PM.

Trace files: