Go to the documentation of this file.
43 #ifndef __SIM_POWER_STATE_HH__
44 #define __SIM_POWER_STATE_HH__
50 #include "enums/PwrState.hh"
51 #include "params/PowerState.hh"
82 void set(Enums::PwrState
p);
85 inline Enums::PwrState
get()
const
154 #endif //__SIM_POWER_STATE_HH__
std::set< Enums::PwrState > possibleStates
The possible power states this object can be in.
void preDumpStats() override
Callback before stats are dumped.
Enums::PwrState matchPwrState(Enums::PwrState p)
Change the power state of this object to a power state equal to OR more performant than p.
Tick prvEvalTick
Last tick the power stats were calculated.
const Params * params() const
void set(Enums::PwrState p)
Change the power state of this object to the power state p.
PowerDomain * controlledDomain
The power domain that this power state leads, nullptr if it doesn't lead any.
The PowerDomain groups PowerState objects together to regulate their power states.
uint64_t Tick
Tick count type.
void serialize(CheckpointOut &cp) const override
Serialize an object.
A vector of scalar stats.
This is a simple scalar statistic, like a counter.
Stats::Vector pwrStateResidencyTicks
Tracks the time spent in each of the power states.
Stats::Scalar numPwrMatchStateTransitions
std::vector< double > getWeights() const
Returns the percentage residency for each power state.
std::set< Enums::PwrState > getPossibleStates() const
Return the power states this object can be in.
PowerState::PowerStateStats stats
Helper class for objects that have power states.
Enums::PwrState get() const
Enums::PwrState _currState
To keep track of the current power state.
PowerStateParams Params
Parameters of PowerState object.
void regStats() override
Callback to set stat parameters.
PowerStateStats(PowerState &ps)
A simple distribution stat.
std::string getName() const
PowerState(const PowerStateParams *p)
const SimObjectParams * _params
Cached copy of the object parameters.
Stats::Scalar numTransitions
void computeStats()
Record stats values like state residency by computing the time difference from previous update.
std::ostream CheckpointOut
Stats::Distribution ticksClkGated
void setControlledDomain(PowerDomain *pwr_dom)
virtual void addFollower(PowerState *pwr_obj)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Abstract superclass for simulation objects.
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17