Go to the documentation of this file.
29 #ifndef __CPU_PRED_INDIRECT_HH__
30 #define __CPU_PRED_INDIRECT_HH__
36 #include "params/SimpleIndirectPredictor.hh"
41 namespace branch_prediction
107 #endif // __CPU_PRED_INDIRECT_HH__
Addr getTag(Addr br_addr)
void updateDirectionInfo(ThreadID tid, bool actually_taken)
void genIndirectInfo(ThreadID tid, void *&indirect_history)
const Params & params() const
void deleteIndirectInfo(ThreadID tid, void *indirect_history)
void changeDirectionPrediction(ThreadID tid, void *indirect_history, bool actually_taken)
std::unique_ptr< PCStateBase > target
std::vector< std::vector< IPredEntry > > targetCache
Addr getSetIndex(Addr br_addr, unsigned ghr, ThreadID tid)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void commit(InstSeqNum seq_num, ThreadID tid, void *indirect_history)
HistoryEntry(Addr br_addr, Addr tgt_addr, InstSeqNum seq_num)
const unsigned pathLength
void squash(InstSeqNum seq_num, ThreadID tid)
std::deque< HistoryEntry > pathHist
std::vector< ThreadInfo > threadInfo
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void recordIndirect(Addr br_addr, Addr tgt_addr, InstSeqNum seq_num, ThreadID tid)
bool lookup(Addr br_addr, PCStateBase &br_target, ThreadID tid)
void recordTarget(InstSeqNum seq_num, void *indirect_history, const PCStateBase &target, ThreadID tid)
int16_t ThreadID
Thread index/ID type.
const unsigned ghrNumBits
SimpleIndirectPredictor(const SimpleIndirectPredictorParams ¶ms)
Generated on Sun Jul 30 2023 01:56:53 for gem5 by doxygen 1.8.17