avg_blocked = blocked_cycles / blocked_causes;
- fastWrites
- .name(name() + ".fast_writes")
- .desc("number of fast writes performed")
- ;
-
- cacheCopies
- .name(name() + ".cache_copies")
- .desc("number of cache copies performed")
- ;
-
unusedPrefetches
.name(name() + ".unused_prefetches")
.desc("number of HardPF blocks evicted w/o reference")
overallAvgMshrUncacheableLatency.subname(i, system->getMasterName(i));
}
- mshr_cap_events
- .init(system->maxMasters())
- .name(name() + ".mshr_cap_events")
- .desc("number of times MSHR cap was activated")
- .flags(total | nozero | nonan)
- ;
- for (int i = 0; i < system->maxMasters(); i++) {
- mshr_cap_events.subname(i, system->getMasterName(i));
- }
-
- //software prefetching stats
- soft_prefetch_mshr_full
- .init(system->maxMasters())
- .name(name() + ".soft_prefetch_mshr_full")
- .desc("number of mshr full events for SW prefetching instrutions")
- .flags(total | nozero | nonan)
- ;
- for (int i = 0; i < system->maxMasters(); i++) {
- soft_prefetch_mshr_full.subname(i, system->getMasterName(i));
- }
-
- mshr_no_allocate_misses
- .name(name() +".no_allocate_misses")
- .desc("Number of misses that were no-allocate")
- ;
-
}
/** The average number of cycles blocked for each blocked cause. */
Stats::Formula avg_blocked;
- /** The number of fast writes (WH64) performed. */
- Stats::Scalar fastWrites;
-
- /** The number of cache copies performed. */
- Stats::Scalar cacheCopies;
-
/** The number of times a HW-prefetched block is evicted w/o reference. */
Stats::Scalar unusedPrefetches;
/** The average overall latency of an MSHR miss. */
Stats::Formula overallAvgMshrUncacheableLatency;
- /** The number of times a thread hit its MSHR cap. */
- Stats::Vector mshr_cap_events;
- /** The number of times software prefetches caused the MSHR to block. */
- Stats::Vector soft_prefetch_mshr_full;
-
- Stats::Scalar mshr_no_allocate_misses;
-
/**
* @}
*/