gem5  v20.1.0.0
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, void *indirect_history, ThreadID _tid, const StaticInstPtr &inst)
 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...
 
void * indirectHistory
 
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...
 
Addr target
 Target of the branch. More...
 
const StaticInstPtr inst
 The branch instrction. More...
 

Detailed Description

Definition at line 188 of file bpred_unit.hh.

Constructor & Destructor Documentation

◆ PredictorHistory()

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

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

Definition at line 193 of file bpred_unit.hh.

Member Function Documentation

◆ operator==()

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

Definition at line 204 of file bpred_unit.hh.

References seqNum.

Member Data Documentation

◆ bpHistory

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 218 of file bpred_unit.hh.

◆ indirectHistory

void* BPredUnit::PredictorHistory::indirectHistory

Definition at line 220 of file bpred_unit.hh.

◆ inst

const StaticInstPtr BPredUnit::PredictorHistory::inst

The branch instrction.

Definition at line 255 of file bpred_unit.hh.

◆ pc

Addr BPredUnit::PredictorHistory::pc

The PC associated with the sequence number.

Definition at line 212 of file bpred_unit.hh.

◆ predTaken

bool BPredUnit::PredictorHistory::predTaken

Whether or not it was predicted taken.

Definition at line 232 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ pushedRAS

bool BPredUnit::PredictorHistory::pushedRAS

Definition at line 238 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ RASIndex

unsigned BPredUnit::PredictorHistory::RASIndex

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

Definition at line 226 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ RASTarget

TheISA::PCState BPredUnit::PredictorHistory::RASTarget

The RAS target (only valid if a return).

Definition at line 223 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ seqNum

InstSeqNum BPredUnit::PredictorHistory::seqNum

The sequence number for the predictor history entry.

Definition at line 209 of file bpred_unit.hh.

Referenced by operator==().

◆ target

Addr BPredUnit::PredictorHistory::target

Target of the branch.

First it is predicted, and fixed later if necessary

Definition at line 252 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ tid

ThreadID BPredUnit::PredictorHistory::tid

The thread id.

Definition at line 229 of file bpred_unit.hh.

◆ usedRAS

bool BPredUnit::PredictorHistory::usedRAS

Whether or not the RAS was used.

Definition at line 235 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ wasCall

bool BPredUnit::PredictorHistory::wasCall

Whether or not the instruction was a call.

Definition at line 241 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ wasIndirect

bool BPredUnit::PredictorHistory::wasIndirect

Wether this instruction was an indirect branch.

Definition at line 247 of file bpred_unit.hh.

Referenced by BPredUnit::predict().

◆ wasReturn

bool BPredUnit::PredictorHistory::wasReturn

Whether or not the instruction was a return.

Definition at line 244 of file bpred_unit.hh.

Referenced by BPredUnit::predict().


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

Generated on Wed Sep 30 2020 14:02:22 for gem5 by doxygen 1.8.17