gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Public Attributes | List of all members
DRAMCtrl::DRAMStats Struct Reference

All statistics that the model needs to capture. More...

Inheritance diagram for DRAMCtrl::DRAMStats:
Stats::Group

Public Member Functions

 DRAMStats (DRAMCtrl &dram)
 
void regStats () override
 Callback to set stat parameters. More...
 
void resetStats () override
 Callback to reset stats. More...
 
- Public Member Functions inherited from Stats::Group
 Group ()=delete
 
 Group (const Group &)=delete
 
Groupoperator= (const Group &)=delete
 
 Group (Group *parent, const char *name=nullptr)
 Construct a new statistics group. More...
 
virtual ~Group ()
 
virtual void preDumpStats ()
 Callback before stats are dumped. 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...
 

Public Attributes

DRAMCtrldram
 
Stats::Scalar readReqs
 
Stats::Scalar writeReqs
 
Stats::Scalar readBursts
 
Stats::Scalar writeBursts
 
Stats::Scalar servicedByWrQ
 
Stats::Scalar mergedWrBursts
 
Stats::Scalar neitherReadNorWriteReqs
 
Stats::Vector perBankRdBursts
 
Stats::Vector perBankWrBursts
 
Stats::Average avgRdQLen
 
Stats::Average avgWrQLen
 
Stats::Scalar totQLat
 
Stats::Scalar totBusLat
 
Stats::Scalar totMemAccLat
 
Stats::Formula avgQLat
 
Stats::Formula avgBusLat
 
Stats::Formula avgMemAccLat
 
Stats::Scalar numRdRetry
 
Stats::Scalar numWrRetry
 
Stats::Scalar readRowHits
 
Stats::Scalar writeRowHits
 
Stats::Formula readRowHitRate
 
Stats::Formula writeRowHitRate
 
Stats::Vector readPktSize
 
Stats::Vector writePktSize
 
Stats::Vector rdQLenPdf
 
Stats::Vector wrQLenPdf
 
Stats::Histogram bytesPerActivate
 
Stats::Histogram rdPerTurnAround
 
Stats::Histogram wrPerTurnAround
 
Stats::Scalar bytesReadDRAM
 
Stats::Scalar bytesReadWrQ
 
Stats::Scalar bytesWritten
 
Stats::Scalar bytesReadSys
 
Stats::Scalar bytesWrittenSys
 
Stats::Formula avgRdBW
 
Stats::Formula avgWrBW
 
Stats::Formula avgRdBWSys
 
Stats::Formula avgWrBWSys
 
Stats::Formula peakBW
 
Stats::Formula busUtil
 
Stats::Formula busUtilRead
 
Stats::Formula busUtilWrite
 
Stats::Scalar totGap
 
Stats::Formula avgGap
 
Stats::Vector masterReadBytes
 
Stats::Vector masterWriteBytes
 
Stats::Formula masterReadRate
 
Stats::Formula masterWriteRate
 
Stats::Vector masterReadAccesses
 
Stats::Vector masterWriteAccesses
 
Stats::Vector masterReadTotalLat
 
Stats::Vector masterWriteTotalLat
 
Stats::Formula masterReadAvgLat
 
Stats::Formula masterWriteAvgLat
 
Stats::Formula pageHitRate
 

Detailed Description

All statistics that the model needs to capture.

Definition at line 1044 of file dram_ctrl.hh.

Constructor & Destructor Documentation

◆ DRAMStats()

DRAMCtrl::DRAMStats::DRAMStats ( DRAMCtrl dram)

Definition at line 2401 of file dram_ctrl.cc.

Member Function Documentation

◆ regStats()

void DRAMCtrl::DRAMStats::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 2502 of file dram_ctrl.cc.

References AbstractMemory::_system, avgBusLat, avgGap, avgMemAccLat, avgQLat, avgRdBW, avgRdBWSys, avgRdQLen, avgWrBW, avgWrBWSys, avgWrQLen, DRAMCtrl::banksPerRank, DRAMCtrl::burstSize, busUtil, busUtilRead, busUtilWrite, bytesPerActivate, bytesReadDRAM, bytesReadSys, bytesWritten, bytesWrittenSys, ceilLog2(), dram, Stats::DataWrap< Derived, InfoProxyType >::flags(), SimClock::Frequency, System::getMasterName(), ArmISA::i, Stats::VectorBase< Derived, Stor >::init(), Stats::Histogram::init(), masterReadAccesses, masterReadAvgLat, masterReadBytes, masterReadRate, masterReadTotalLat, masterWriteAccesses, masterWriteAvgLat, masterWriteBytes, masterWriteRate, masterWriteTotalLat, DRAMCtrl::maxAccessesPerRow, System::maxMasters(), mergedWrBursts, Stats::nonan, Stats::nozero, pageHitRate, peakBW, perBankRdBursts, perBankWrBursts, Stats::DataWrap< Derived, InfoProxyType >::precision(), DRAMCtrl::ranksPerChannel, rdPerTurnAround, rdQLenPdf, DRAMCtrl::readBufferSize, readBursts, readPktSize, readReqs, readRowHitRate, readRowHits, DRAMCtrl::rowBufferSize, servicedByWrQ, simSeconds, Stats::DataWrapVec< Derived, InfoProxyType >::subname(), DRAMCtrl::tBURST, totBusLat, totGap, totMemAccLat, totQLat, DRAMCtrl::writeBufferSize, writeBursts, writePktSize, writeReqs, writeRowHitRate, writeRowHits, wrPerTurnAround, and wrQLenPdf.

◆ resetStats()

void DRAMCtrl::DRAMStats::resetStats ( )
overridevirtual

Callback to reset stats.

Reimplemented from Stats::Group.

Definition at line 2641 of file dram_ctrl.cc.

References curTick(), dram, and DRAMCtrl::lastStatsResetTick.

Member Data Documentation

◆ avgBusLat

Stats::Formula DRAMCtrl::DRAMStats::avgBusLat

Definition at line 1073 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgGap

Stats::Formula DRAMCtrl::DRAMStats::avgGap

Definition at line 1111 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgMemAccLat

Stats::Formula DRAMCtrl::DRAMStats::avgMemAccLat

Definition at line 1074 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgQLat

Stats::Formula DRAMCtrl::DRAMStats::avgQLat

Definition at line 1072 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgRdBW

Stats::Formula DRAMCtrl::DRAMStats::avgRdBW

Definition at line 1100 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgRdBWSys

Stats::Formula DRAMCtrl::DRAMStats::avgRdBWSys

Definition at line 1102 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgRdQLen

Stats::Average DRAMCtrl::DRAMStats::avgRdQLen

Definition at line 1063 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and regStats().

◆ avgWrBW

Stats::Formula DRAMCtrl::DRAMStats::avgWrBW

Definition at line 1101 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgWrBWSys

Stats::Formula DRAMCtrl::DRAMStats::avgWrBWSys

Definition at line 1103 of file dram_ctrl.hh.

Referenced by regStats().

◆ avgWrQLen

Stats::Average DRAMCtrl::DRAMStats::avgWrQLen

Definition at line 1064 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToWriteQueue(), and regStats().

◆ busUtil

Stats::Formula DRAMCtrl::DRAMStats::busUtil

Definition at line 1106 of file dram_ctrl.hh.

Referenced by regStats().

◆ busUtilRead

Stats::Formula DRAMCtrl::DRAMStats::busUtilRead

Definition at line 1107 of file dram_ctrl.hh.

Referenced by regStats().

◆ busUtilWrite

Stats::Formula DRAMCtrl::DRAMStats::busUtilWrite

Definition at line 1108 of file dram_ctrl.hh.

Referenced by regStats().

◆ bytesPerActivate

Stats::Histogram DRAMCtrl::DRAMStats::bytesPerActivate

Definition at line 1089 of file dram_ctrl.hh.

Referenced by DRAMCtrl::prechargeBank(), and regStats().

◆ bytesReadDRAM

Stats::Scalar DRAMCtrl::DRAMStats::bytesReadDRAM

Definition at line 1093 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ bytesReadSys

Stats::Scalar DRAMCtrl::DRAMStats::bytesReadSys

Definition at line 1096 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq(), and regStats().

◆ bytesReadWrQ

Stats::Scalar DRAMCtrl::DRAMStats::bytesReadWrQ

Definition at line 1094 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue().

◆ bytesWritten

Stats::Scalar DRAMCtrl::DRAMStats::bytesWritten

Definition at line 1095 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ bytesWrittenSys

Stats::Scalar DRAMCtrl::DRAMStats::bytesWrittenSys

Definition at line 1097 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq(), and regStats().

◆ dram

DRAMCtrl& DRAMCtrl::DRAMStats::dram

Definition at line 1050 of file dram_ctrl.hh.

Referenced by regStats(), and resetStats().

◆ masterReadAccesses

Stats::Vector DRAMCtrl::DRAMStats::masterReadAccesses

Definition at line 1122 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and regStats().

◆ masterReadAvgLat

Stats::Formula DRAMCtrl::DRAMStats::masterReadAvgLat

Definition at line 1130 of file dram_ctrl.hh.

Referenced by regStats().

◆ masterReadBytes

Stats::Vector DRAMCtrl::DRAMStats::masterReadBytes

Definition at line 1114 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ masterReadRate

Stats::Formula DRAMCtrl::DRAMStats::masterReadRate

Definition at line 1118 of file dram_ctrl.hh.

Referenced by regStats().

◆ masterReadTotalLat

Stats::Vector DRAMCtrl::DRAMStats::masterReadTotalLat

Definition at line 1126 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ masterWriteAccesses

Stats::Vector DRAMCtrl::DRAMStats::masterWriteAccesses

Definition at line 1123 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToWriteQueue(), and regStats().

◆ masterWriteAvgLat

Stats::Formula DRAMCtrl::DRAMStats::masterWriteAvgLat

Definition at line 1131 of file dram_ctrl.hh.

Referenced by regStats().

◆ masterWriteBytes

Stats::Vector DRAMCtrl::DRAMStats::masterWriteBytes

Definition at line 1115 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ masterWriteRate

Stats::Formula DRAMCtrl::DRAMStats::masterWriteRate

Definition at line 1119 of file dram_ctrl.hh.

Referenced by regStats().

◆ masterWriteTotalLat

Stats::Vector DRAMCtrl::DRAMStats::masterWriteTotalLat

Definition at line 1127 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ mergedWrBursts

Stats::Scalar DRAMCtrl::DRAMStats::mergedWrBursts

Definition at line 1057 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToWriteQueue(), and regStats().

◆ neitherReadNorWriteReqs

Stats::Scalar DRAMCtrl::DRAMStats::neitherReadNorWriteReqs

Definition at line 1058 of file dram_ctrl.hh.

◆ numRdRetry

Stats::Scalar DRAMCtrl::DRAMStats::numRdRetry

Definition at line 1076 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq().

◆ numWrRetry

Stats::Scalar DRAMCtrl::DRAMStats::numWrRetry

Definition at line 1077 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq().

◆ pageHitRate

Stats::Formula DRAMCtrl::DRAMStats::pageHitRate

Definition at line 1134 of file dram_ctrl.hh.

Referenced by regStats().

◆ peakBW

Stats::Formula DRAMCtrl::DRAMStats::peakBW

Definition at line 1104 of file dram_ctrl.hh.

Referenced by regStats().

◆ perBankRdBursts

Stats::Vector DRAMCtrl::DRAMStats::perBankRdBursts

Definition at line 1059 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ perBankWrBursts

Stats::Vector DRAMCtrl::DRAMStats::perBankWrBursts

Definition at line 1060 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ rdPerTurnAround

Stats::Histogram DRAMCtrl::DRAMStats::rdPerTurnAround

Definition at line 1090 of file dram_ctrl.hh.

Referenced by DRAMCtrl::processNextReqEvent(), and regStats().

◆ rdQLenPdf

Stats::Vector DRAMCtrl::DRAMStats::rdQLenPdf

Definition at line 1087 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and regStats().

◆ readBursts

Stats::Scalar DRAMCtrl::DRAMStats::readBursts

Definition at line 1054 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and regStats().

◆ readPktSize

Stats::Vector DRAMCtrl::DRAMStats::readPktSize

Definition at line 1085 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and regStats().

◆ readReqs

Stats::Scalar DRAMCtrl::DRAMStats::readReqs

Definition at line 1052 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq(), and regStats().

◆ readRowHitRate

Stats::Formula DRAMCtrl::DRAMStats::readRowHitRate

Definition at line 1082 of file dram_ctrl.hh.

Referenced by regStats().

◆ readRowHits

Stats::Scalar DRAMCtrl::DRAMStats::readRowHits

Definition at line 1080 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ servicedByWrQ

Stats::Scalar DRAMCtrl::DRAMStats::servicedByWrQ

Definition at line 1056 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and regStats().

◆ totBusLat

Stats::Scalar DRAMCtrl::DRAMStats::totBusLat

Definition at line 1068 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ totGap

Stats::Scalar DRAMCtrl::DRAMStats::totGap

Definition at line 1110 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq(), and regStats().

◆ totMemAccLat

Stats::Scalar DRAMCtrl::DRAMStats::totMemAccLat

Definition at line 1069 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ totQLat

Stats::Scalar DRAMCtrl::DRAMStats::totQLat

Definition at line 1067 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ writeBursts

Stats::Scalar DRAMCtrl::DRAMStats::writeBursts

Definition at line 1055 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToWriteQueue(), and regStats().

◆ writePktSize

Stats::Vector DRAMCtrl::DRAMStats::writePktSize

Definition at line 1086 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToWriteQueue(), and regStats().

◆ writeReqs

Stats::Scalar DRAMCtrl::DRAMStats::writeReqs

Definition at line 1053 of file dram_ctrl.hh.

Referenced by DRAMCtrl::recvTimingReq(), and regStats().

◆ writeRowHitRate

Stats::Formula DRAMCtrl::DRAMStats::writeRowHitRate

Definition at line 1083 of file dram_ctrl.hh.

Referenced by regStats().

◆ writeRowHits

Stats::Scalar DRAMCtrl::DRAMStats::writeRowHits

Definition at line 1081 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess(), and regStats().

◆ wrPerTurnAround

Stats::Histogram DRAMCtrl::DRAMStats::wrPerTurnAround

Definition at line 1091 of file dram_ctrl.hh.

Referenced by DRAMCtrl::processNextReqEvent(), and regStats().

◆ wrQLenPdf

Stats::Vector DRAMCtrl::DRAMStats::wrQLenPdf

Definition at line 1088 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToWriteQueue(), and regStats().


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

Generated on Fri Feb 28 2020 16:27:10 for gem5 by doxygen 1.8.13