gem5  v20.1.0.0
Public Member Functions | Public Attributes | List of all members
BaseTags::BaseTagStats Struct Reference

TODO: It would be good if these stats were acquired after warmup. More...

#include <base.hh>

Inheritance diagram for BaseTags::BaseTagStats:
Stats::Group

Public Member Functions

 BaseTagStats (BaseTags &tags)
 
void regStats () override
 Callback to set stat parameters. More...
 
void preDumpStats () override
 Callback before stats are dumped. More...
 
- Public Member Functions inherited from Stats::Group
 Group (Group *parent, const char *name=nullptr)
 Construct a new statistics group. More...
 
virtual ~Group ()
 
virtual void resetStats ()
 Callback to reset stats. More...
 
void addStat (Stats::Info *info)
 Register a stat with this group. More...
 
const std::map< std::string, Group * > & getStatGroups () const
 Get all child groups associated with this object. More...
 
const std::vector< Info * > & getStats () const
 Get all stats associated with this object. More...
 
void addStatGroup (const char *name, Group *block)
 Add a stat block as a child of this block. More...
 
const InforesolveStat (std::string name) const
 Resolve a stat by its name within this group. More...
 
 Group ()=delete
 
 Group (const Group &)=delete
 
Groupoperator= (const Group &)=delete
 

Public Attributes

BaseTagstags
 
Stats::Average tagsInUse
 Per cycle average of the number of tags that hold valid data. More...
 
Stats::Scalar totalRefs
 The total number of references to a block before it is replaced. More...
 
Stats::Scalar sampledRefs
 The number of reference counts sampled. More...
 
Stats::Formula avgRefs
 Average number of references to a block before is was replaced. More...
 
Stats::Scalar warmupCycle
 The cycle that the warmup percentage was hit. More...
 
Stats::AverageVector occupancies
 Average occupancy of each requestor using the cache. More...
 
Stats::Formula avgOccs
 Average occ % of each requestor using the cache. More...
 
Stats::Vector occupanciesTaskId
 Occupancy of each context/cpu using the cache. More...
 
Stats::Vector2d ageTaskId
 Occupancy of each context/cpu using the cache. More...
 
Stats::Formula percentOccsTaskId
 Occ % of each context/cpu using the cache. More...
 
Stats::Scalar tagAccesses
 Number of tags consulted over all accesses. More...
 
Stats::Scalar dataAccesses
 Number of data blocks consulted over all accesses. More...
 

Detailed Description

TODO: It would be good if these stats were acquired after warmup.

Definition at line 105 of file base.hh.

Constructor & Destructor Documentation

◆ BaseTagStats()

BaseTags::BaseTagStats::BaseTagStats ( BaseTags tags)

Definition at line 203 of file base.cc.

Member Function Documentation

◆ preDumpStats()

void BaseTags::BaseTagStats::preDumpStats ( )
overridevirtual

Callback before stats are dumped.

This can be overridden by objects that need to perform calculations in addition to the capabiltiies implemented in the stat framework.

Reimplemented from Stats::Group.

Definition at line 273 of file base.cc.

References Stats::Group::preDumpStats().

◆ regStats()

void BaseTags::BaseTagStats::regStats ( )
overridevirtual

Callback to set stat parameters.

This callback is typically used for complex stats (e.g., distributions) that need parameters in addition to a name and a description. Stat names and descriptions should typically be set from the constructor usingo from the constructor using the ADD_STAT macro.

Reimplemented from Stats::Group.

Definition at line 232 of file base.cc.

References Stats::constant(), System::getRequestorName(), ArmISA::i, System::init(), System::maxRequestors(), Stats::nonan, Stats::nozero, ContextSwitchTaskId::NumTaskId, Stats::Group::regStats(), BaseTags::system, and Stats::total.

Member Data Documentation

◆ ageTaskId

Stats::Vector2d BaseTags::BaseTagStats::ageTaskId

Occupancy of each context/cpu using the cache.

Definition at line 146 of file base.hh.

Referenced by BaseTags::computeStats(), and BaseTags::computeStatsVisitor().

◆ avgOccs

Stats::Formula BaseTags::BaseTagStats::avgOccs

Average occ % of each requestor using the cache.

Definition at line 140 of file base.hh.

◆ avgRefs

Stats::Formula BaseTags::BaseTagStats::avgRefs

Average number of references to a block before is was replaced.

Todo:
This should change to an average stat once we have them.

Definition at line 131 of file base.hh.

◆ dataAccesses

Stats::Scalar BaseTags::BaseTagStats::dataAccesses

Number of data blocks consulted over all accesses.

Definition at line 154 of file base.hh.

Referenced by BaseSetAssoc::accessBlock(), SectorTags::accessBlock(), and BaseTags::insertBlock().

◆ occupancies

Stats::AverageVector BaseTags::BaseTagStats::occupancies

Average occupancy of each requestor using the cache.

Definition at line 137 of file base.hh.

Referenced by BaseTags::insertBlock(), and BaseTags::invalidate().

◆ occupanciesTaskId

Stats::Vector BaseTags::BaseTagStats::occupanciesTaskId

Occupancy of each context/cpu using the cache.

Definition at line 143 of file base.hh.

Referenced by BaseTags::computeStats(), and BaseTags::computeStatsVisitor().

◆ percentOccsTaskId

Stats::Formula BaseTags::BaseTagStats::percentOccsTaskId

Occ % of each context/cpu using the cache.

Definition at line 149 of file base.hh.

◆ sampledRefs

Stats::Scalar BaseTags::BaseTagStats::sampledRefs

The number of reference counts sampled.

This is different from replacements because we sample all the valid blocks when the simulator exits.

Definition at line 125 of file base.hh.

Referenced by BaseTags::cleanupRefsVisitor(), and BaseTags::invalidate().

◆ tagAccesses

Stats::Scalar BaseTags::BaseTagStats::tagAccesses

Number of tags consulted over all accesses.

Definition at line 152 of file base.hh.

Referenced by BaseSetAssoc::accessBlock(), SectorTags::accessBlock(), and BaseTags::insertBlock().

◆ tags

BaseTags& BaseTags::BaseTagStats::tags

Definition at line 112 of file base.hh.

◆ tagsInUse

Stats::Average BaseTags::BaseTagStats::tagsInUse

Per cycle average of the number of tags that hold valid data.

Definition at line 115 of file base.hh.

Referenced by SectorTags::insertBlock(), BaseSetAssoc::insertBlock(), FALRU::insertBlock(), BaseTags::insertBlock(), BaseSetAssoc::invalidate(), SectorTags::invalidate(), and FALRU::invalidate().

◆ totalRefs

Stats::Scalar BaseTags::BaseTagStats::totalRefs

The total number of references to a block before it is replaced.

Definition at line 118 of file base.hh.

Referenced by BaseTags::cleanupRefsVisitor(), and BaseTags::invalidate().

◆ warmupCycle

Stats::Scalar BaseTags::BaseTagStats::warmupCycle

The cycle that the warmup percentage was hit.

0 on failure.

Definition at line 134 of file base.hh.

Referenced by BaseTags::insertBlock().


The documentation for this struct was generated from the following files:

Generated on Wed Sep 30 2020 14:02:21 for gem5 by doxygen 1.8.17