cpu: Add Units to cpu stats
Change-Id: I387b2e9f6ecf62757242056f732bd443c457ebea Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39095 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
This commit is contained in:
@@ -85,53 +85,66 @@ class SimpleExecContext : public ExecContext
|
||||
: Stats::Group(cpu,
|
||||
csprintf("exec_context.thread_%i",
|
||||
thread->threadId()).c_str()),
|
||||
ADD_STAT(numInsts, "Number of instructions committed"),
|
||||
ADD_STAT(numOps,
|
||||
ADD_STAT(numInsts, UNIT_COUNT,
|
||||
"Number of instructions committed"),
|
||||
ADD_STAT(numOps, UNIT_COUNT,
|
||||
"Number of ops (including micro ops) committed"),
|
||||
ADD_STAT(numIntAluAccesses, "Number of integer alu accesses"),
|
||||
ADD_STAT(numFpAluAccesses, "Number of float alu accesses"),
|
||||
ADD_STAT(numVecAluAccesses, "Number of vector alu accesses"),
|
||||
ADD_STAT(numCallsReturns,
|
||||
ADD_STAT(numIntAluAccesses, UNIT_COUNT,
|
||||
"Number of integer alu accesses"),
|
||||
ADD_STAT(numFpAluAccesses, UNIT_COUNT,
|
||||
"Number of float alu accesses"),
|
||||
ADD_STAT(numVecAluAccesses, UNIT_COUNT,
|
||||
"Number of vector alu accesses"),
|
||||
ADD_STAT(numCallsReturns, UNIT_COUNT,
|
||||
"Number of times a function call or return occured"),
|
||||
ADD_STAT(numCondCtrlInsts,
|
||||
ADD_STAT(numCondCtrlInsts, UNIT_COUNT,
|
||||
"Number of instructions that are conditional controls"),
|
||||
ADD_STAT(numIntInsts, "Number of integer instructions"),
|
||||
ADD_STAT(numFpInsts, "Number of float instructions"),
|
||||
ADD_STAT(numVecInsts, "Number of vector instructions"),
|
||||
ADD_STAT(numIntRegReads,
|
||||
ADD_STAT(numIntInsts, UNIT_COUNT,
|
||||
"Number of integer instructions"),
|
||||
ADD_STAT(numFpInsts, UNIT_COUNT, "Number of float instructions"),
|
||||
ADD_STAT(numVecInsts, UNIT_COUNT,
|
||||
"Number of vector instructions"),
|
||||
ADD_STAT(numIntRegReads, UNIT_COUNT,
|
||||
"Number of times the integer registers were read"),
|
||||
ADD_STAT(numIntRegWrites,
|
||||
ADD_STAT(numIntRegWrites, UNIT_COUNT,
|
||||
"Number of times the integer registers were written"),
|
||||
ADD_STAT(numFpRegReads,
|
||||
ADD_STAT(numFpRegReads, UNIT_COUNT,
|
||||
"Number of times the floating registers were read"),
|
||||
ADD_STAT(numFpRegWrites,
|
||||
ADD_STAT(numFpRegWrites, UNIT_COUNT,
|
||||
"Number of times the floating registers were written"),
|
||||
ADD_STAT(numVecRegReads,
|
||||
ADD_STAT(numVecRegReads, UNIT_COUNT,
|
||||
"Number of times the vector registers were read"),
|
||||
ADD_STAT(numVecRegWrites,
|
||||
ADD_STAT(numVecRegWrites, UNIT_COUNT,
|
||||
"Number of times the vector registers were written"),
|
||||
ADD_STAT(numVecPredRegReads,
|
||||
ADD_STAT(numVecPredRegReads, UNIT_COUNT,
|
||||
"Number of times the predicate registers were read"),
|
||||
ADD_STAT(numVecPredRegWrites,
|
||||
ADD_STAT(numVecPredRegWrites, UNIT_COUNT,
|
||||
"Number of times the predicate registers were written"),
|
||||
ADD_STAT(numCCRegReads,
|
||||
ADD_STAT(numCCRegReads, UNIT_COUNT,
|
||||
"Number of times the CC registers were read"),
|
||||
ADD_STAT(numCCRegWrites,
|
||||
ADD_STAT(numCCRegWrites, UNIT_COUNT,
|
||||
"Number of times the CC registers were written"),
|
||||
ADD_STAT(numMemRefs, "Number of memory refs"),
|
||||
ADD_STAT(numLoadInsts, "Number of load instructions"),
|
||||
ADD_STAT(numStoreInsts, "Number of store instructions"),
|
||||
ADD_STAT(numIdleCycles, "Number of idle cycles"),
|
||||
ADD_STAT(numBusyCycles, "Number of busy cycles"),
|
||||
ADD_STAT(notIdleFraction, "Percentage of non-idle cycles"),
|
||||
ADD_STAT(idleFraction, "Percentage of idle cycles"),
|
||||
ADD_STAT(icacheStallCycles, "ICache total stall cycles"),
|
||||
ADD_STAT(dcacheStallCycles, "DCache total stall cycles"),
|
||||
ADD_STAT(numBranches, "Number of branches fetched"),
|
||||
ADD_STAT(numPredictedBranches,
|
||||
ADD_STAT(numMemRefs, UNIT_COUNT, "Number of memory refs"),
|
||||
ADD_STAT(numLoadInsts, UNIT_COUNT,
|
||||
"Number of load instructions"),
|
||||
ADD_STAT(numStoreInsts, UNIT_COUNT,
|
||||
"Number of store instructions"),
|
||||
ADD_STAT(numIdleCycles, UNIT_CYCLE, "Number of idle cycles"),
|
||||
ADD_STAT(numBusyCycles, UNIT_CYCLE, "Number of busy cycles"),
|
||||
ADD_STAT(notIdleFraction, UNIT_RATIO,
|
||||
"Percentage of non-idle cycles"),
|
||||
ADD_STAT(idleFraction, UNIT_RATIO, "Percentage of idle cycles"),
|
||||
ADD_STAT(icacheStallCycles, UNIT_CYCLE,
|
||||
"ICache total stall cycles"),
|
||||
ADD_STAT(dcacheStallCycles, UNIT_CYCLE,
|
||||
"DCache total stall cycles"),
|
||||
ADD_STAT(numBranches, UNIT_COUNT, "Number of branches fetched"),
|
||||
ADD_STAT(numPredictedBranches, UNIT_COUNT,
|
||||
"Number of branches predicted as taken"),
|
||||
ADD_STAT(numBranchMispred, "Number of branch mispredictions"),
|
||||
ADD_STAT(statExecutedInstType, "Class of executed instruction.")
|
||||
ADD_STAT(numBranchMispred, UNIT_COUNT,
|
||||
"Number of branch mispredictions"),
|
||||
ADD_STAT(statExecutedInstType, UNIT_COUNT,
|
||||
"Class of executed instruction.")
|
||||
{
|
||||
numCCRegReads
|
||||
.flags(Stats::nozero);
|
||||
|
||||
Reference in New Issue
Block a user