forked from Github_Repos/cvw
8a035104ac
There were two major bugs with the predictor. First the update mechanism was completely wrong. The PHT is updated with the GHR that was used to lookup the prediction. PHT[GHR] = Sat2(PHT[GHR], branch outcome). Second the GHR needs to be updated speculatively as the branch is predicted. This is important so that back to back branches' GHRs are not the same. The must be different to avoid aliasing. Speculation of the GHR update allows them to be different. On mis prediction the GHR must be reverted. This implementation is a bit sloppy with names and now the GHR recovery is performed. Updates to follow. |
||
---|---|---|
.. | ||
BTBPredictor.txt | ||
twoBitPredictor.txt | ||
wally-config.vh | ||
wally-constants.vh |