gem5  v22.1.0.0
Public Member Functions | Public Attributes | List of all members
gem5::BaseCache::CacheCmdStats Struct Reference

#include <base.hh>

Inheritance diagram for gem5::BaseCache::CacheCmdStats:
gem5::statistics::Group

Public Member Functions

 CacheCmdStats (BaseCache &c, const std::string &name)
 
void regStatsFromParent ()
 Callback to register stats from parent CacheStats::regStats(). 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 regStats ()
 Callback to set stat parameters. More...
 
virtual void resetStats ()
 Callback to reset stats. More...
 
virtual void preDumpStats ()
 Callback before stats are dumped. 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

const BaseCachecache
 
statistics::Vector hits
 Number of hits per thread for each type of command. More...
 
statistics::Vector misses
 Number of misses per thread for each type of command. More...
 
statistics::Vector hitLatency
 Total number of ticks per thread/command spent waiting for a hit. More...
 
statistics::Vector missLatency
 Total number of ticks per thread/command spent waiting for a miss. More...
 
statistics::Formula accesses
 The number of accesses per command and thread. More...
 
statistics::Formula missRate
 The miss rate per command and thread. More...
 
statistics::Formula avgMissLatency
 The average miss latency per command and thread. More...
 
statistics::Vector mshrHits
 Number of misses that hit in the MSHRs per command and thread. More...
 
statistics::Vector mshrMisses
 Number of misses that miss in the MSHRs, per command and thread. More...
 
statistics::Vector mshrUncacheable
 Number of misses that miss in the MSHRs, per command and thread. More...
 
statistics::Vector mshrMissLatency
 Total tick latency of each MSHR miss, per command and thread. More...
 
statistics::Vector mshrUncacheableLatency
 Total tick latency of each MSHR miss, per command and thread. More...
 
statistics::Formula mshrMissRate
 The miss rate in the MSHRs pre command and thread. More...
 
statistics::Formula avgMshrMissLatency
 The average latency of an MSHR miss, per command and thread. More...
 
statistics::Formula avgMshrUncacheableLatency
 The average latency of an MSHR miss, per command and thread. More...
 

Detailed Description

Definition at line 988 of file base.hh.

Constructor & Destructor Documentation

◆ CacheCmdStats()

gem5::BaseCache::CacheCmdStats::CacheCmdStats ( BaseCache c,
const std::string &  name 
)

Definition at line 2024 of file base.cc.

Member Function Documentation

◆ regStatsFromParent()

void gem5::BaseCache::CacheCmdStats::regStatsFromParent ( )

Callback to register stats from parent CacheStats::regStats().

We can't use the normal flow since there is is no guaranteed order and CacheStats::regStats() needs to rely on these stats being initialised.

Definition at line 2064 of file base.cc.

References gem5::System::getRequestorName(), gem5::ArmISA::i, gem5::System::maxRequestors(), gem5::statistics::nonan, gem5::statistics::nozero, gem5::statistics::Group::regStats(), gem5::BaseCache::system, and gem5::statistics::total.

Member Data Documentation

◆ accesses

statistics::Formula gem5::BaseCache::CacheCmdStats::accesses

The number of accesses per command and thread.

Definition at line 1019 of file base.hh.

◆ avgMissLatency

statistics::Formula gem5::BaseCache::CacheCmdStats::avgMissLatency

The average miss latency per command and thread.

Definition at line 1023 of file base.hh.

◆ avgMshrMissLatency

statistics::Formula gem5::BaseCache::CacheCmdStats::avgMshrMissLatency

The average latency of an MSHR miss, per command and thread.

Definition at line 1037 of file base.hh.

◆ avgMshrUncacheableLatency

statistics::Formula gem5::BaseCache::CacheCmdStats::avgMshrUncacheableLatency

The average latency of an MSHR miss, per command and thread.

Definition at line 1039 of file base.hh.

◆ cache

const BaseCache& gem5::BaseCache::CacheCmdStats::cache

Definition at line 1000 of file base.hh.

◆ hitLatency

statistics::Vector gem5::BaseCache::CacheCmdStats::hitLatency

Total number of ticks per thread/command spent waiting for a hit.

Used to calculate the average hit latency.

Definition at line 1012 of file base.hh.

◆ hits

statistics::Vector gem5::BaseCache::CacheCmdStats::hits

Number of hits per thread for each type of command.

See also
Packet::Command

Definition at line 1004 of file base.hh.

Referenced by gem5::BaseCache::incHitCount().

◆ misses

statistics::Vector gem5::BaseCache::CacheCmdStats::misses

Number of misses per thread for each type of command.

See also
Packet::Command

Definition at line 1007 of file base.hh.

Referenced by gem5::BaseCache::incMissCount().

◆ missLatency

statistics::Vector gem5::BaseCache::CacheCmdStats::missLatency

Total number of ticks per thread/command spent waiting for a miss.

Used to calculate the average miss latency.

Definition at line 1017 of file base.hh.

Referenced by gem5::Cache::serviceMSHRTargets(), and gem5::NoncoherentCache::serviceMSHRTargets().

◆ missRate

statistics::Formula gem5::BaseCache::CacheCmdStats::missRate

The miss rate per command and thread.

Definition at line 1021 of file base.hh.

◆ mshrHits

statistics::Vector gem5::BaseCache::CacheCmdStats::mshrHits

Number of misses that hit in the MSHRs per command and thread.

Definition at line 1025 of file base.hh.

Referenced by gem5::BaseCache::handleTimingReqMiss().

◆ mshrMisses

statistics::Vector gem5::BaseCache::CacheCmdStats::mshrMisses

Number of misses that miss in the MSHRs, per command and thread.

Definition at line 1027 of file base.hh.

Referenced by gem5::BaseCache::getNextQueueEntry(), and gem5::BaseCache::handleTimingReqMiss().

◆ mshrMissLatency

statistics::Vector gem5::BaseCache::CacheCmdStats::mshrMissLatency

Total tick latency of each MSHR miss, per command and thread.

Definition at line 1031 of file base.hh.

Referenced by gem5::BaseCache::recvTimingResp().

◆ mshrMissRate

statistics::Formula gem5::BaseCache::CacheCmdStats::mshrMissRate

The miss rate in the MSHRs pre command and thread.

Definition at line 1035 of file base.hh.

◆ mshrUncacheable

statistics::Vector gem5::BaseCache::CacheCmdStats::mshrUncacheable

Number of misses that miss in the MSHRs, per command and thread.

Definition at line 1029 of file base.hh.

Referenced by gem5::Cache::handleTimingReqMiss().

◆ mshrUncacheableLatency

statistics::Vector gem5::BaseCache::CacheCmdStats::mshrUncacheableLatency

Total tick latency of each MSHR miss, per command and thread.

Definition at line 1033 of file base.hh.

Referenced by gem5::BaseCache::recvTimingResp().


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

Generated on Wed Dec 21 2022 10:23:26 for gem5 by doxygen 1.9.1