diff options
author | Mrinmoy Ghosh <Mrinmoy.Ghosh@arm.com> | 2011-07-10 12:56:08 -0500 |
---|---|---|
committer | Mrinmoy Ghosh <Mrinmoy.Ghosh@arm.com> | 2011-07-10 12:56:08 -0500 |
commit | 3396fd9e84358346b60437a7635c9cc5f331017f (patch) | |
tree | c3586fbd23ab1212265eec9c65fb223e10b0618e /src/unittest/symtest.cc | |
parent | c7e7b890586ac6cf24f2ea6d8f3db936f0fe6e6d (diff) | |
download | gem5-3396fd9e84358346b60437a7635c9cc5f331017f.tar.xz |
Branch predictor: Fixes the tournament branch predictor.
Branch predictor could not predict a branch in a nested loop because:
1. The global history was not updated after a mispredict squash.
2. The global history was updated in the fetch stage. The choice predictors
that were updated used the changed global history. This is incorrect, as
it incorporates the state of global history after the branch in
encountered. Fixed update to choice predictor using the global history
state before the branch happened.
3. The global predictor table was also updated using the global history state
before the branch happened as above.
Additionally, parameters to initialize ctr and history size were reversed.
Diffstat (limited to 'src/unittest/symtest.cc')
0 files changed, 0 insertions, 0 deletions