Hoa Nguyen has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36075 )

Change subject: cpu-minor,stats: Update stats style of MinorCPU
......................................................................

cpu-minor,stats: Update stats style of MinorCPU

Change-Id: Id14e6816cc82603459bf68461ae40bf2b63080eb
Signed-off-by: Hoa Nguyen <hoangu...@ucdavis.edu>
---
M src/cpu/minor/cpu.cc
M src/cpu/minor/stats.cc
M src/cpu/minor/stats.hh
3 files changed, 40 insertions(+), 10 deletions(-)



diff --git a/src/cpu/minor/cpu.cc b/src/cpu/minor/cpu.cc
index 2bff55d..852ac37 100644
--- a/src/cpu/minor/cpu.cc
+++ b/src/cpu/minor/cpu.cc
@@ -47,7 +47,8 @@

 MinorCPU::MinorCPU(const MinorCPUParams &params) :
     BaseCPU(params),
-    threadPolicy(params.threadPolicy)
+    threadPolicy(params.threadPolicy),
+    stats(this, *this)
 {
     /* This is only written for one thread at the moment */
     Minor::MinorThread *thread;
diff --git a/src/cpu/minor/stats.cc b/src/cpu/minor/stats.cc
index 5de820d..49dc918 100644
--- a/src/cpu/minor/stats.cc
+++ b/src/cpu/minor/stats.cc
@@ -40,9 +40,41 @@
 namespace Minor
 {

-MinorStats::MinorStats()
-{ }
+MinorStats::MinorStats(Stats::Group *parent, BaseCPU &baseCpu)
+    : Stats::Group(parent, "MinorCPU"),
+    ADD_STAT(numInsts, "Number of instructions committed"),
+    ADD_STAT(numOps, "Number of ops (including micro ops) committed"),
+ ADD_STAT(numDiscardedOps, "Number of ops (including micro ops) which were"
+                              " discarded before commit"),
+ ADD_STAT(numFetchSuspends, "Number of times Execute suspended instruction"
+                              " fetching"),
+    ADD_STAT(quiesceCycles, "Total number of cycles that CPU has spent"
+                            " quiesced or waiting for an interrupt"),
+    ADD_STAT(cpi, "CPI: cycles per instruction"),
+    ADD_STAT(ipc, "IPC: instructions per cycle"),
+    ADD_STAT(committedInstType, "Class of committed instruction")
+{
+    using namespace Stats;

+    quiesceCycles.prereq(quiesceCycles);
+
+    cpi.precision(6);
+
+    ipc.precision(6);
+
+}
+
+void MinorStats::regStats(const std::string &name, BaseCPU &baseCpu)
+{
+    cpi = baseCpu.numCycles / numInsts;
+    ipc = numInsts / baseCpu.numCycles;
+    committedInstType
+        .init(baseCpu.numThreads, Enums::Num_OpClass)
+        .flags(Stats::total | Stats::pdf | Stats::dist);
+    committedInstType.ysubnames(Enums::OpClassStrings);
+}
+
+/*
 void
 MinorStats::regStats(const std::string &name, BaseCPU &baseCpu)
 {
@@ -88,5 +120,5 @@
         .flags(Stats::total | Stats::pdf | Stats::dist);
     committedInstType.ysubnames(Enums::OpClassStrings);
 }
-
+*/
 };
diff --git a/src/cpu/minor/stats.hh b/src/cpu/minor/stats.hh
index 3ee678a..503cecf 100644
--- a/src/cpu/minor/stats.hh
+++ b/src/cpu/minor/stats.hh
@@ -52,9 +52,10 @@
 {

 /** Currently unused stats class. */
-class MinorStats
+struct MinorStats : public Stats::Group
 {
-  public:
+    MinorStats(Stats::Group *parent, BaseCPU &baseCpu);
+
     /** Number of simulated instructions */
     Stats::Scalar numInsts;

@@ -77,10 +78,6 @@
     /** Number of instructions by type (OpClass) */
     Stats::Vector2d committedInstType;

-  public:
-    MinorStats();
-
-  public:
     void regStats(const std::string &name, BaseCPU &baseCpu);
 };


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/36075
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id14e6816cc82603459bf68461ae40bf2b63080eb
Gerrit-Change-Number: 36075
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen <hoangu...@ucdavis.edu>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to