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

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

#include <base.hh>

Inheritance diagram for gem5::BaseTags::BaseTagStats:
gem5::statistics::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 gem5::statistics::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 (statistics::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...
 
void mergeStatGroup (Group *block)
 Merge the contents (stats & children) of a block to this block. More...
 
 Group ()=delete
 
 Group (const Group &)=delete
 
Groupoperator= (const Group &)=delete
 

Public Attributes

BaseTagstags
 
statistics::Average tagsInUse
 Per tick average of the number of tags that hold valid data. More...
 
statistics::Scalar totalRefs
 The total number of references to a block before it is replaced. More...
 
statistics::Scalar sampledRefs
 The number of reference counts sampled. More...
 
statistics::Formula avgRefs
 Average number of references to a block before is was replaced. More...
 
statistics::Scalar warmupTick
 The tick that the warmup percentage was hit. More...
 
statistics::AverageVector occupancies
 Average occupancy of each requestor using the cache. More...
 
statistics::Formula avgOccs
 Average occ % of each requestor using the cache. More...
 
statistics::Vector occupanciesTaskId
 Occupancy of each context/cpu using the cache. More...
 
statistics::Vector2d ageTaskId
 Occupancy of each context/cpu using the cache. More...
 
statistics::Formula ratioOccsTaskId
 Occ ratio of each context/cpu using the cache. More...
 
statistics::Scalar tagAccesses
 Number of tags consulted over all accesses. More...
 
statistics::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 108 of file base.hh.

Constructor & Destructor Documentation

◆ BaseTagStats()

gem5::BaseTags::BaseTagStats::BaseTagStats ( BaseTags tags)

Definition at line 218 of file base.cc.

Member Function Documentation

◆ preDumpStats()

void gem5::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 gem5::statistics::Group.

Definition at line 295 of file base.cc.

References gem5::statistics::Group::preDumpStats().

◆ regStats()

void gem5::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 gem5::statistics::Group.

Definition at line 254 of file base.cc.

References gem5::statistics::constant(), gem5::System::getRequestorName(), gem5::ArmISA::i, gem5::SimObject::init(), gem5::System::maxRequestors(), gem5::statistics::nonan, gem5::statistics::nozero, gem5::context_switch_task_id::NumTaskId, gem5::statistics::Group::regStats(), gem5::BaseTags::system, and gem5::statistics::total.

Member Data Documentation

◆ ageTaskId

statistics::Vector2d gem5::BaseTags::BaseTagStats::ageTaskId

Occupancy of each context/cpu using the cache.

Definition at line 149 of file base.hh.

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

◆ avgOccs

statistics::Formula gem5::BaseTags::BaseTagStats::avgOccs

Average occ % of each requestor using the cache.

Definition at line 143 of file base.hh.

◆ avgRefs

statistics::Formula gem5::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 134 of file base.hh.

◆ dataAccesses

statistics::Scalar gem5::BaseTags::BaseTagStats::dataAccesses

Number of data blocks consulted over all accesses.

Definition at line 157 of file base.hh.

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

◆ occupancies

statistics::AverageVector gem5::BaseTags::BaseTagStats::occupancies

Average occupancy of each requestor using the cache.

Definition at line 140 of file base.hh.

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

◆ occupanciesTaskId

statistics::Vector gem5::BaseTags::BaseTagStats::occupanciesTaskId

Occupancy of each context/cpu using the cache.

Definition at line 146 of file base.hh.

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

◆ ratioOccsTaskId

statistics::Formula gem5::BaseTags::BaseTagStats::ratioOccsTaskId

Occ ratio of each context/cpu using the cache.

Definition at line 152 of file base.hh.

◆ sampledRefs

statistics::Scalar gem5::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 128 of file base.hh.

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

◆ tagAccesses

statistics::Scalar gem5::BaseTags::BaseTagStats::tagAccesses

Number of tags consulted over all accesses.

Definition at line 155 of file base.hh.

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

◆ tags

BaseTags& gem5::BaseTags::BaseTagStats::tags

Definition at line 115 of file base.hh.

◆ tagsInUse

statistics::Average gem5::BaseTags::BaseTagStats::tagsInUse

◆ totalRefs

statistics::Scalar gem5::BaseTags::BaseTagStats::totalRefs

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

Definition at line 121 of file base.hh.

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

◆ warmupTick

statistics::Scalar gem5::BaseTags::BaseTagStats::warmupTick

The tick that the warmup percentage was hit.

0 on failure.

Definition at line 137 of file base.hh.

Referenced by gem5::BaseTags::insertBlock().


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

Generated on Tue Sep 21 2021 12:27:20 for gem5 by doxygen 1.8.17