Various branch predictor fixes/cleanup. It works more correctly now and supports...
authorKevin Lim <ktlim@umich.edu>
Thu, 25 May 2006 21:01:48 +0000 (17:01 -0400)
committerKevin Lim <ktlim@umich.edu>
Thu, 25 May 2006 21:01:48 +0000 (17:01 -0400)
commit248bd2bb62861c8d77de4c8cfab6c6392bd85049
treec1a290ab284bd45fa6d8062c250c9cbcada6ad0b
parent02aa549c9b1fd81be4bb1408cb97b92dc126e360
Various branch predictor fixes/cleanup.  It works more correctly now and supports both local and tournament predictors.

cpu/o3/2bit_local_pred.cc:
    Branch predictor cleanup/fixup.  Rename this to LocalBP.
cpu/o3/2bit_local_pred.hh:
    Rename to LocalBP, update to support changes to BPredUnit, include comments.
cpu/o3/alpha_cpu_builder.cc:
    Support extra parameters to the branch predictor.  Now it takes in a parameter to tell it which branch predictor it is using, the local or the tournament predictor.
cpu/o3/alpha_params.hh:
    Add in extra parameter for the branch predictor type.
cpu/o3/bpred_unit.cc:
    Branch predictor fixup/cleanup.  Rename it to BPredUnit.
cpu/o3/bpred_unit.hh:
    Branch predictor fixup/cleanup.  Now supports both the local and tournament predictors, and stores the branch predictor update state.
cpu/o3/bpred_unit_impl.hh:
    Branch predictor overhaul.  Now supports both the local and tournament predictors.
cpu/o3/cpu_policy.hh:
cpu/ozone/ozone_impl.hh:
cpu/ozone/simple_impl.hh:
    Reflect the class name change.
cpu/o3/decode_impl.hh:
    Be sure to set the predicted target as well so we don't squash twice.
cpu/o3/tournament_pred.cc:
cpu/o3/tournament_pred.hh:
    Fixes to the tournament predictor.
cpu/ozone/simple_params.hh:
    Include parameter for the branch predictor type.
python/m5/objects/AlphaFullCPU.py:
python/m5/objects/OzoneCPU.py:
    Include the parameter for the branch predictor type.

--HG--
extra : convert_revision : 34afebb3b40b47accb12558e439ee4cb03df5e64
16 files changed:
cpu/o3/2bit_local_pred.cc
cpu/o3/2bit_local_pred.hh
cpu/o3/alpha_cpu_builder.cc
cpu/o3/alpha_params.hh
cpu/o3/bpred_unit.cc
cpu/o3/bpred_unit.hh
cpu/o3/bpred_unit_impl.hh
cpu/o3/cpu_policy.hh
cpu/o3/decode_impl.hh
cpu/o3/tournament_pred.cc
cpu/o3/tournament_pred.hh
cpu/ozone/ozone_impl.hh
cpu/ozone/simple_impl.hh
cpu/ozone/simple_params.hh
python/m5/objects/AlphaFullCPU.py
python/m5/objects/OzoneCPU.py