diff options
author | Arthur Perais <arthur.perais@inria.fr> | 2016-12-21 15:06:13 -0600 |
---|---|---|
committer | Arthur Perais <arthur.perais@inria.fr> | 2016-12-21 15:06:13 -0600 |
commit | 34065f8d5f51e165b56d12a6d88092332809f0b9 (patch) | |
tree | 533d80ea87d3378c822e4f98680b4a078f0c37e8 /src | |
parent | 1664625db89c3c9054434b5dc97a9f1c1bfad244 (diff) | |
download | gem5-34065f8d5f51e165b56d12a6d88092332809f0b9.tar.xz |
cpu: correct comments in tournament branch predictor
The tournament predictor is presented as doing speculative
update of the global history and non-speculative update
of the local history used to generate the branch prediction.
However, the code does speculative update of both histories.
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/pred/tournament.cc | 4 | ||||
-rw-r--r-- | src/cpu/pred/tournament.hh | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/cpu/pred/tournament.cc b/src/cpu/pred/tournament.cc index 319606871..96f03eb30 100644 --- a/src/cpu/pred/tournament.cc +++ b/src/cpu/pred/tournament.cc @@ -222,8 +222,8 @@ TournamentBP::lookup(ThreadID tid, Addr branch_addr, void * &bp_history) assert(local_history_idx < localHistoryTableSize); - // Commented code is for doing speculative update of counters and - // all histories. + // Speculative update of the global history and the + // selected local history. if (choice_prediction) { if (global_prediction) { updateGlobalHistTaken(tid); diff --git a/src/cpu/pred/tournament.hh b/src/cpu/pred/tournament.hh index 3aa17e030..0febd21bc 100644 --- a/src/cpu/pred/tournament.hh +++ b/src/cpu/pred/tournament.hh @@ -57,9 +57,8 @@ * used in the 21264. It has a local predictor, which uses a local history * table to index into a table of counters, and a global predictor, which * uses a global history to index into a table of counters. A choice - * predictor chooses between the two. Only the global history register - * is speculatively updated, the rest are updated upon branches committing - * or misspeculating. + * predictor chooses between the two. Both the global history register + * and the selected local history are speculatively updated. */ class TournamentBP : public BPredUnit { |