gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
BPredUnit::PredictorHistory Struct Reference

Public Member Functions

 PredictorHistory (const InstSeqNum &seq_num, Addr instPC, bool pred_taken, void *bp_history, ThreadID _tid)
 Makes a predictor history struct that contains any information needed to update the predictor, BTB, and RAS. More...
 
bool operator== (const PredictorHistory &entry) const
 

Public Attributes

InstSeqNum seqNum
 The sequence number for the predictor history entry. More...
 
Addr pc
 The PC associated with the sequence number. More...
 
void * bpHistory
 Pointer to the history object passed back from the branch predictor. More...
 
TheISA::PCState RASTarget
 The RAS target (only valid if a return). More...
 
unsigned RASIndex
 The RAS index of the instruction (only valid if a call). More...
 
ThreadID tid
 The thread id. More...
 
bool predTaken
 Whether or not it was predicted taken. More...
 
bool usedRAS
 Whether or not the RAS was used. More...
 
bool pushedRAS
 
bool wasCall
 Whether or not the instruction was a call. More...
 
bool wasReturn
 Whether or not the instruction was a return. More...
 
bool wasIndirect
 Wether this instruction was an indirect branch. More...
 

Detailed Description

Definition at line 196 of file bpred_unit.hh.

Constructor & Destructor Documentation

BPredUnit::PredictorHistory::PredictorHistory ( const InstSeqNum seq_num,
Addr  instPC,
bool  pred_taken,
void *  bp_history,
ThreadID  _tid 
)
inline

Makes a predictor history struct that contains any information needed to update the predictor, BTB, and RAS.

Definition at line 201 of file bpred_unit.hh.

Member Function Documentation

bool BPredUnit::PredictorHistory::operator== ( const PredictorHistory entry) const
inline

Definition at line 209 of file bpred_unit.hh.

References seqNum.

Member Data Documentation

void* BPredUnit::PredictorHistory::bpHistory

Pointer to the history object passed back from the branch predictor.

It is used to update or restore state of the branch predictor.

Definition at line 223 of file bpred_unit.hh.

Addr BPredUnit::PredictorHistory::pc

The PC associated with the sequence number.

Definition at line 217 of file bpred_unit.hh.

bool BPredUnit::PredictorHistory::predTaken

Whether or not it was predicted taken.

Definition at line 235 of file bpred_unit.hh.

bool BPredUnit::PredictorHistory::pushedRAS

Definition at line 241 of file bpred_unit.hh.

unsigned BPredUnit::PredictorHistory::RASIndex

The RAS index of the instruction (only valid if a call).

Definition at line 229 of file bpred_unit.hh.

TheISA::PCState BPredUnit::PredictorHistory::RASTarget

The RAS target (only valid if a return).

Definition at line 226 of file bpred_unit.hh.

InstSeqNum BPredUnit::PredictorHistory::seqNum

The sequence number for the predictor history entry.

Definition at line 214 of file bpred_unit.hh.

Referenced by operator==().

ThreadID BPredUnit::PredictorHistory::tid

The thread id.

Definition at line 232 of file bpred_unit.hh.

bool BPredUnit::PredictorHistory::usedRAS

Whether or not the RAS was used.

Definition at line 238 of file bpred_unit.hh.

bool BPredUnit::PredictorHistory::wasCall

Whether or not the instruction was a call.

Definition at line 244 of file bpred_unit.hh.

bool BPredUnit::PredictorHistory::wasIndirect

Wether this instruction was an indirect branch.

Definition at line 250 of file bpred_unit.hh.

bool BPredUnit::PredictorHistory::wasReturn

Whether or not the instruction was a return.

Definition at line 247 of file bpred_unit.hh.


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

Generated on Fri Jun 9 2017 13:04:04 for gem5 by doxygen 1.8.6