the history file historytxt is the branch history


The history file, history.txt, is the branch history of a run of the gcc compiler (the first field is the address of the branch instruction, the second field is the target branch address and the third field is 1 for a branch taken and a 0 for a branch not taken).

Write a program that models a static branch predictor, a one-bit branch predictor,  a two-bit branch predictor, and a two-bit correlating predictor.  The static branch predictor predicts the branch is taken when the branch is backwards and it predicts the branch is not taken when the branch is forwards.  The one-bit predictor predicts that the branch is taken the same way it was taken last time.  The two-bit predictor is described on page C-28 of your text book, page 162 : Computer Architecture : A Quantitative Approach Henessy, J, Patterson Fifth Edition.

For the static predictor, calculate the percentage of times it correctly predicts the branch.

The accuracy of the one- and two-but predictors depends, in part, on the number of entries in the branch prediction table.  The number of entries corresponds to powers of two.  The specific entry used to predict a branch is indicated by the lower n bits of the address of the branch instruction where 2n is the number of entries in the table.

On the same graph, plot the accuracy (100 * correct predictions /total branches) of your one- and two-bit branch predictors for branch prediction table sizes from 4 to 65536 entries

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: the history file historytxt is the branch history
Reference No:- TGS0221425

Expected delivery within 24 Hours