Go to the documentation of this file.
   48 #ifndef __CPU_PRED_TAGE_HH__ 
   49 #define __CPU_PRED_TAGE_HH__ 
   56 #include "params/TAGE.hh" 
   61 namespace branch_prediction
 
   95                 Addr corrTarget) 
override;
 
  102 #endif // __CPU_PRED_TAGE_HH__ 
  
TAGE(const TAGEParams ¶ms)
virtual void squash(ThreadID tid, void *bp_history) override
void btbUpdate(ThreadID tid, Addr branch_addr, void *&bp_history) override
If a branch is not taken, because the BTB address is invalid or missing, this function sets the appro...
TAGEBase::BranchInfo * tageBranchInfo
void update(ThreadID tid, Addr branch_addr, bool taken, void *bp_history, bool squashed, const StaticInstPtr &inst, Addr corrTarget) override
Updates the BP with taken/not taken information.
virtual bool predict(ThreadID tid, Addr branch_pc, bool cond_branch, void *&b)
TageBranchInfo(TAGEBase &tage)
void uncondBranch(ThreadID tid, Addr br_pc, void *&bp_history) override
const Params & params() const
virtual ~TageBranchInfo()
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Basically a wrapper class to hold both the branch predictor and the BTB.
bool lookup(ThreadID tid, Addr branch_addr, void *&bp_history) override
Looks up a given PC in the BP to see if it is taken or not taken.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
int16_t ThreadID
Thread index/ID type.
Generated on Tue Sep 21 2021 12:25:05 for gem5 by  doxygen 1.8.17