gem5 v24.0.0.0
|
Base class to implement the predictor tables. More...
#include <multiperspective_perceptron.hh>
Public Member Functions | |
HistorySpec (int _p1, int _p2, int _p3, double _coeff, int _size, int _width, MultiperspectivePerceptron &_mpp) | |
virtual unsigned int | getHash (ThreadID tid, Addr pc, Addr pc2, int t) const =0 |
Gets the hash to index the table, using the pc of the branch, and the index of the table. | |
virtual void | setBitRequirements () const |
Sets the size requirements of the table, used when initializing to set the proper size of the tables. | |
Public Attributes | |
const int | p1 |
First parameter. | |
const int | p2 |
Second parameter. | |
const int | p3 |
Third parameter. | |
const double | coeff |
Coefficient of the feature, models the accuracy of the feature. | |
const int | size |
Pre-assigned size in bits assigned to this feature. | |
const int | width |
Width of the table in bits | |
MultiperspectivePerceptron & | mpp |
Reference to the branch predictor class. | |
Base class to implement the predictor tables.
Definition at line 237 of file multiperspective_perceptron.hh.
|
inline |
Definition at line 254 of file multiperspective_perceptron.hh.
|
pure virtual |
Gets the hash to index the table, using the pc of the branch, and the index of the table.
tid | Thread ID of the branch |
pc | address of the branch |
pc2 | address of the branch shifted 2 bits to the right |
t | integer index of the table |
Implemented in gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC, gem5::branch_prediction::MultiperspectivePerceptron::BIAS, gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH, gem5::branch_prediction::MultiperspectivePerceptron::GHIST, gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH, gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH, gem5::branch_prediction::MultiperspectivePerceptron::IMLI, gem5::branch_prediction::MultiperspectivePerceptron::LOCAL, gem5::branch_prediction::MultiperspectivePerceptron::MODHIST, gem5::branch_prediction::MultiperspectivePerceptron::MODPATH, gem5::branch_prediction::MultiperspectivePerceptron::PATH, gem5::branch_prediction::MultiperspectivePerceptron::RECENCY, gem5::branch_prediction::MultiperspectivePerceptron::RECENCYPOS, and gem5::branch_prediction::MultiperspectivePerceptron::SGHISTPATH.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::getIndex(), and gem5::branch_prediction::MultiperspectivePerceptronTAGE::getIndex().
|
inlinevirtual |
Sets the size requirements of the table, used when initializing to set the proper size of the tables.
Reimplemented in gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC, gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH, gem5::branch_prediction::MultiperspectivePerceptron::GHIST, gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH, gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH, gem5::branch_prediction::MultiperspectivePerceptron::IMLI, gem5::branch_prediction::MultiperspectivePerceptron::LOCAL, gem5::branch_prediction::MultiperspectivePerceptron::MODHIST, gem5::branch_prediction::MultiperspectivePerceptron::MODPATH, gem5::branch_prediction::MultiperspectivePerceptron::PATH, gem5::branch_prediction::MultiperspectivePerceptron::RECENCY, and gem5::branch_prediction::MultiperspectivePerceptron::RECENCYPOS.
Definition at line 275 of file multiperspective_perceptron.hh.
const double gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::coeff |
Coefficient of the feature, models the accuracy of the feature.
Definition at line 246 of file multiperspective_perceptron.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::computeOutput(), and gem5::branch_prediction::MultiperspectivePerceptron::train().
MultiperspectivePerceptron& gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::mpp |
Reference to the branch predictor class.
Definition at line 252 of file multiperspective_perceptron.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::IMLI::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::LOCAL::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCYPOS::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::SGHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHIST::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::IMLI::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::LOCAL::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::setBitRequirements(), and gem5::branch_prediction::MultiperspectivePerceptron::RECENCYPOS::setBitRequirements().
const int gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::p1 |
First parameter.
Definition at line 240 of file multiperspective_perceptron.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::IMLI::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::LOCAL::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCYPOS::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::SGHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::IMLI::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::setBitRequirements(), and gem5::branch_prediction::MultiperspectivePerceptron::RECENCYPOS::setBitRequirements().
const int gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::p2 |
Second parameter.
Definition at line 242 of file multiperspective_perceptron.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::SGHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHIST::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::setBitRequirements(), gem5::branch_prediction::MultiperspectivePerceptron::MODHIST::setBitRequirements(), and gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::setBitRequirements().
const int gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::p3 |
Third parameter.
Definition at line 244 of file multiperspective_perceptron.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::BLURRYPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTMODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::GHISTPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::MODPATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::PATH::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::RECENCY::getHash(), gem5::branch_prediction::MultiperspectivePerceptron::SGHISTPATH::getHash(), and gem5::branch_prediction::MultiperspectivePerceptron::ACYCLIC::setBitRequirements().
const int gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::size |
Pre-assigned size in bits assigned to this feature.
Definition at line 248 of file multiperspective_perceptron.hh.
const int gem5::branch_prediction::MultiperspectivePerceptron::HistorySpec::width |
Width of the table in bits
Definition at line 250 of file multiperspective_perceptron.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::computeOutput(), and gem5::branch_prediction::MultiperspectivePerceptron::train().