Go to the documentation of this file.
48 #ifndef __CPU_PRED_TAGE
49 #define __CPU_PRED_TAGE
56 #include "params/TAGE.hh"
88 Addr corrTarget)
override;
92 #endif // __CPU_PRED_TAGE
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...
virtual void squash(ThreadID tid, void *bp_history) override
TAGE(const TAGEParams *params)
int16_t ThreadID
Thread index/ID type.
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.
TAGEBase::BranchInfo * tageBranchInfo
TageBranchInfo(TAGEBase &tage)
void uncondBranch(ThreadID tid, Addr br_pc, void *&bp_history) override
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.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const Params * params() const
virtual ~TageBranchInfo()
virtual bool predict(ThreadID tid, Addr branch_pc, bool cond_branch, void *&b)
Generated on Wed Sep 30 2020 14:02:09 for gem5 by doxygen 1.8.17