gem5  v22.1.0.0
Public Member Functions | Public Attributes | Static Private Member Functions | Private Attributes | List of all members
gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo Class Reference

Branch information data. More...

#include <multiperspective_perceptron.hh>

Inheritance diagram for gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo:
gem5::branch_prediction::MultiperspectivePerceptronTAGE::MPPTAGEBranchInfo

Public Member Functions

 MPPBranchInfo (Addr _pc, int pcshift, bool cb)
 
unsigned int getPC () const
 
unsigned short int getPC2 () const
 
unsigned short int getHPC () const
 
unsigned int getHashFilter (bool last_ghist_bit) const
 
bool isUnconditional () const
 

Public Attributes

bool filtered
 Whether this branch has been filtered by the prefetcher. More...
 
bool prediction
 Result of the prediction (true is taken) More...
 
int yout
 Score of the perceptron. More...
 

Static Private Member Functions

static unsigned int hash1 (unsigned int a)
 PC Hash functions. More...
 
static unsigned int hash2 (unsigned int key)
 
static unsigned int hash (unsigned int key, unsigned int i)
 
static unsigned int hashPC (unsigned int pc, int pcshift)
 

Private Attributes

const unsigned int pc
 pc of the branch More...
 
const unsigned short int pc2
 pc of the branch, shifted 2 bits to the right More...
 
const unsigned short int hpc
 pc of the branch, hashed More...
 
const bool condBranch
 Whether this is a conditional branch. More...
 

Detailed Description

Branch information data.

Definition at line 60 of file multiperspective_perceptron.hh.

Constructor & Destructor Documentation

◆ MPPBranchInfo()

gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::MPPBranchInfo ( Addr  _pc,
int  pcshift,
bool  cb 
)
inline

Definition at line 120 of file multiperspective_perceptron.hh.

Member Function Documentation

◆ getHashFilter()

unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::getHashFilter ( bool  last_ghist_bit) const
inline

Definition at line 137 of file multiperspective_perceptron.hh.

References hpc.

◆ getHPC()

unsigned short int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::getHPC ( ) const
inline

Definition at line 133 of file multiperspective_perceptron.hh.

References hpc.

◆ getPC()

unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::getPC ( ) const
inline

Definition at line 125 of file multiperspective_perceptron.hh.

References pc.

◆ getPC2()

unsigned short int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::getPC2 ( ) const
inline

Definition at line 129 of file multiperspective_perceptron.hh.

References pc2.

◆ hash()

static unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::hash ( unsigned int  key,
unsigned int  i 
)
inlinestaticprivate

Definition at line 94 of file multiperspective_perceptron.hh.

References hash1(), hash2(), and gem5::ArmISA::i.

Referenced by hashPC().

◆ hash1()

static unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::hash1 ( unsigned int  a)
inlinestaticprivate

PC Hash functions.

Definition at line 74 of file multiperspective_perceptron.hh.

References gem5::ArmISA::a.

Referenced by hash().

◆ hash2()

static unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::hash2 ( unsigned int  key)
inlinestaticprivate

Definition at line 83 of file multiperspective_perceptron.hh.

References gem5::c2.

Referenced by hash().

◆ hashPC()

static unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::hashPC ( unsigned int  pc,
int  pcshift 
)
inlinestaticprivate

◆ isUnconditional()

bool gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::isUnconditional ( ) const
inline

Definition at line 141 of file multiperspective_perceptron.hh.

References condBranch.

Member Data Documentation

◆ condBranch

const bool gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::condBranch
private

Whether this is a conditional branch.

Definition at line 69 of file multiperspective_perceptron.hh.

Referenced by isUnconditional().

◆ filtered

bool gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::filtered

Whether this branch has been filtered by the prefetcher.

Definition at line 114 of file multiperspective_perceptron.hh.

◆ hpc

const unsigned short int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::hpc
private

pc of the branch, hashed

Definition at line 67 of file multiperspective_perceptron.hh.

Referenced by getHashFilter(), and getHPC().

◆ pc

const unsigned int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::pc
private

pc of the branch

Definition at line 63 of file multiperspective_perceptron.hh.

Referenced by getPC(), and hashPC().

◆ pc2

const unsigned short int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::pc2
private

pc of the branch, shifted 2 bits to the right

Definition at line 65 of file multiperspective_perceptron.hh.

Referenced by getPC2().

◆ prediction

bool gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::prediction

Result of the prediction (true is taken)

Definition at line 116 of file multiperspective_perceptron.hh.

◆ yout

int gem5::branch_prediction::MultiperspectivePerceptron::MPPBranchInfo::yout

Score of the perceptron.

Definition at line 118 of file multiperspective_perceptron.hh.


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

Generated on Wed Dec 21 2022 10:23:38 for gem5 by doxygen 1.9.1