30 #ifndef __CPU_O3_SCOREBOARD_HH__ 31 #define __CPU_O3_SCOREBOARD_HH__ 38 #include "config/the_isa.hh" 40 #include "debug/Scoreboard.hh" 68 unsigned _numPhysicalRegs);
86 bool ready = regScoreBoard[phys_reg->
flatIndex()];
108 regScoreBoard[phys_reg->
flatIndex()] =
true;
126 regScoreBoard[phys_reg->
flatIndex()] =
false;
unsigned M5_CLASS_VAR_USED numPhysRegs
The number of actual physical registers.
#define M5_CLASS_VAR_USED
std::vector< bool > regScoreBoard
Scoreboard of physical integer registers, saying whether or not they are ready.
Implements a simple scoreboard to track which registers are ready.
const std::string _name
The object name, for DPRINTF.
std::string name() const
Returns the name of the scoreboard.
void setReg(PhysRegIdPtr phys_reg)
Sets the register as ready.
void unsetReg(PhysRegIdPtr phys_reg)
Sets the register as not ready.
const PhysRegIndex & flatIndex() const
Flat index accessor.
const RegIndex & index() const
Index accessors.
Scoreboard(const std::string &_my_name, unsigned _numPhysicalRegs)
Constructs a scoreboard.
bool isFixedMapping() const
Returns true if this register is always associated to the same architectural register.
bool isZeroReg() const
Check if this is the zero register.
const char * className() const
Return a const char* with the register class name.
bool getReg(PhysRegIdPtr phys_reg) const
Checks if the register is ready.