29#ifndef __CPU_PRED_INDIRECT_BASE_HH__
30#define __CPU_PRED_INDIRECT_BASE_HH__
34#include "params/IndirectPredictor.hh"
40namespace branch_prediction
47 typedef IndirectPredictorParams
Params;
59 void * indirect_history) = 0;
67 void * indirect_history,
68 bool actually_taken) = 0;
Abstract superclass for simulation objects.
IndirectPredictor(const Params ¶ms)
virtual void commit(InstSeqNum seq_num, ThreadID tid, void *indirect_history)=0
virtual void squash(InstSeqNum seq_num, ThreadID tid)=0
IndirectPredictorParams Params
virtual void deleteIndirectInfo(ThreadID tid, void *indirect_history)=0
virtual void updateDirectionInfo(ThreadID tid, bool actually_taken)=0
virtual void changeDirectionPrediction(ThreadID tid, void *indirect_history, bool actually_taken)=0
virtual bool lookup(Addr br_addr, PCStateBase &br_target, ThreadID tid)=0
virtual void recordIndirect(Addr br_addr, Addr tgt_addr, InstSeqNum seq_num, ThreadID tid)=0
virtual void recordTarget(InstSeqNum seq_num, void *indirect_history, const PCStateBase &target, ThreadID tid)=0
virtual void genIndirectInfo(ThreadID tid, void *&indirect_history)=0
const Params & params() const
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
int16_t ThreadID
Thread index/ID type.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.