ChampSim
PREDICTOR Class Reference

Public Member Functions

 PREDICTOR (void)
 
void reinit ()
 
int bindex (uint64_t PC)
 
int F (long long A, int size, int bank)
 
int gindex (unsigned int PC, int bank, long long hist, folded_history *ch_i)
 
uint16_t gtag (unsigned int PC, int bank, folded_history *ch0, folded_history *ch1)
 
void ctrupdate (int8_t &ctr, bool taken, int nbits)
 
bool getbim ()
 
void baseupdate (bool Taken)
 
int MYRANDOM ()
 
void Tagepred (uint64_t PC)
 
bool GetPrediction (uint64_t PC)
 
void HistoryUpdate (uint64_t PC, uint8_t opType, bool taken, uint64_t target, long long &X, int &Y, folded_history *H, folded_history *G, folded_history *J)
 
void UpdatePredictor (uint64_t PC, uint8_t opType, bool resolveDir, bool predDir, uint64_t branchTarget)
 
int Gpredict (uint64_t PC, long long BHIST, int *length, int8_t **tab, int NBR, int logs, int8_t *W)
 
void Gupdate (uint64_t PC, bool taken, long long BHIST, int *length, int8_t **tab, int NBR, int logs, int8_t *W)
 
void TrackOtherInst (uint64_t PC, uint8_t opType, bool taken, uint64_t branchTarget)
 
int lindex (uint64_t PC)
 
bool getloop (uint64_t PC)
 
void loopupdate (uint64_t PC, bool Taken, bool ALLOC)
 

Public Attributes

int THRES
 

Constructor & Destructor Documentation

◆ PREDICTOR()

PREDICTOR::PREDICTOR ( void  )
inline

Member Function Documentation

◆ baseupdate()

void PREDICTOR::baseupdate ( bool  Taken)
inline

◆ bindex()

int PREDICTOR::bindex ( uint64_t  PC)
inline

◆ ctrupdate()

void PREDICTOR::ctrupdate ( int8_t &  ctr,
bool  taken,
int  nbits 
)
inline

◆ F()

int PREDICTOR::F ( long long  A,
int  size,
int  bank 
)
inline

◆ getbim()

bool PREDICTOR::getbim ( )
inline

◆ getloop()

bool PREDICTOR::getloop ( uint64_t  PC)
inline

◆ GetPrediction()

bool PREDICTOR::GetPrediction ( uint64_t  PC)
inline

◆ gindex()

int PREDICTOR::gindex ( unsigned int  PC,
int  bank,
long long  hist,
folded_history ch_i 
)
inline

◆ Gpredict()

int PREDICTOR::Gpredict ( uint64_t  PC,
long long  BHIST,
int *  length,
int8_t **  tab,
int  NBR,
int  logs,
int8_t *  W 
)
inline

◆ gtag()

uint16_t PREDICTOR::gtag ( unsigned int  PC,
int  bank,
folded_history ch0,
folded_history ch1 
)
inline

◆ Gupdate()

void PREDICTOR::Gupdate ( uint64_t  PC,
bool  taken,
long long  BHIST,
int *  length,
int8_t **  tab,
int  NBR,
int  logs,
int8_t *  W 
)
inline

◆ HistoryUpdate()

void PREDICTOR::HistoryUpdate ( uint64_t  PC,
uint8_t  opType,
bool  taken,
uint64_t  target,
long long &  X,
int &  Y,
folded_history H,
folded_history G,
folded_history J 
)
inline

◆ lindex()

int PREDICTOR::lindex ( uint64_t  PC)
inline

◆ loopupdate()

void PREDICTOR::loopupdate ( uint64_t  PC,
bool  Taken,
bool  ALLOC 
)
inline

◆ MYRANDOM()

int PREDICTOR::MYRANDOM ( )
inline

◆ reinit()

void PREDICTOR::reinit ( )
inline

◆ Tagepred()

void PREDICTOR::Tagepred ( uint64_t  PC)
inline

◆ TrackOtherInst()

void PREDICTOR::TrackOtherInst ( uint64_t  PC,
uint8_t  opType,
bool  taken,
uint64_t  branchTarget 
)
inline

◆ UpdatePredictor()

void PREDICTOR::UpdatePredictor ( uint64_t  PC,
uint8_t  opType,
bool  resolveDir,
bool  predDir,
uint64_t  branchTarget 
)
inline

Member Data Documentation

◆ THRES

int PREDICTOR::THRES

The documentation for this class was generated from the following file: