gem5 v24.0.0.0
|
Implements a simple scoreboard to track which registers are ready. More...
#include <scoreboard.hh>
Public Member Functions | |
Scoreboard (const std::string &_my_name, unsigned _numPhysicalRegs) | |
Constructs a scoreboard. | |
~Scoreboard () | |
Destructor. | |
std::string | name () const |
Returns the name of the scoreboard. | |
bool | getReg (PhysRegIdPtr phys_reg) const |
Checks if the register is ready. | |
void | setReg (PhysRegIdPtr phys_reg) |
Sets the register as ready. | |
void | unsetReg (PhysRegIdPtr phys_reg) |
Sets the register as not ready. | |
Private Attributes | |
const std::string | _name |
The object name, for DPRINTF. | |
std::vector< bool > | regScoreBoard |
Scoreboard of physical integer registers, saying whether or not they are ready. | |
GEM5_CLASS_VAR_USED unsigned | numPhysRegs |
The number of actual physical registers. | |
Implements a simple scoreboard to track which registers are ready.
This class operates on the unified physical register space, because the different classes of registers do not need to be distinguished. Registers being part of a fixed mapping are always considered ready.
Definition at line 54 of file scoreboard.hh.
gem5::o3::Scoreboard::Scoreboard | ( | const std::string & | _my_name, |
unsigned | _numPhysicalRegs ) |
Constructs a scoreboard.
_numPhysicalRegs | Number of physical registers. |
_numMiscRegs | Number of miscellaneous registers. |
Definition at line 38 of file scoreboard.cc.
|
inline |
Destructor.
Definition at line 76 of file scoreboard.hh.
|
inline |
Checks if the register is ready.
Definition at line 83 of file scoreboard.hh.
References gem5::PhysRegId::flatIndex(), gem5::PhysRegId::isFixedMapping(), numPhysRegs, and regScoreBoard.
Referenced by gem5::o3::Rename::renameSrcRegs().
|
inline |
|
inline |
Sets the register as ready.
Definition at line 97 of file scoreboard.hh.
References gem5::PhysRegId::className(), DPRINTF, gem5::PhysRegId::flatIndex(), gem5::PhysRegId::index(), gem5::PhysRegId::isFixedMapping(), numPhysRegs, and regScoreBoard.
Referenced by gem5::o3::CPU::insertThread(), and gem5::o3::IEW::writebackInsts().
|
inline |
Sets the register as not ready.
Definition at line 115 of file scoreboard.hh.
References gem5::PhysRegId::flatIndex(), gem5::PhysRegId::isFixedMapping(), numPhysRegs, and regScoreBoard.
Referenced by gem5::o3::Rename::renameDestRegs().
|
private |
The object name, for DPRINTF.
We have to declare this explicitly because Scoreboard is not a SimObject.
Definition at line 59 of file scoreboard.hh.
Referenced by name().
|
private |
The number of actual physical registers.
Definition at line 66 of file scoreboard.hh.
Referenced by getReg(), setReg(), and unsetReg().
|
private |
Scoreboard of physical integer registers, saying whether or not they are ready.
Definition at line 63 of file scoreboard.hh.
Referenced by getReg(), setReg(), and unsetReg().