summaryrefslogtreecommitdiff
path: root/cpu/simple_cpu/simple_cpu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/simple_cpu/simple_cpu.cc')
-rw-r--r--cpu/simple_cpu/simple_cpu.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/cpu/simple_cpu/simple_cpu.cc b/cpu/simple_cpu/simple_cpu.cc
index 550b6c64f..a63f86098 100644
--- a/cpu/simple_cpu/simple_cpu.cc
+++ b/cpu/simple_cpu/simple_cpu.cc
@@ -159,7 +159,9 @@ SimpleCPU::SimpleCPU(const string &_name, Process *_process,
memReq->data = new uint8_t[64];
numInst = 0;
+ startNumInst = 0;
numLoad = 0;
+ startNumLoad = 0;
lastIcacheStall = 0;
lastDcacheStall = 0;
@@ -215,6 +217,8 @@ SimpleCPU::execCtxStatusChg(int thread_num) {
void
SimpleCPU::regStats()
{
+ using namespace Statistics;
+
BaseCPU::regStats();
numInsts
@@ -244,11 +248,17 @@ SimpleCPU::regStats()
.prereq(dcacheStallCycles)
;
- numInsts = Statistics::scalar(numInst);
+ numInsts = Statistics::scalar(numInst) - Statistics::scalar(startNumInst);
simInsts += numInsts;
}
void
+SimpleCPU::resetStats()
+{
+ startNumInst = numInst;
+}
+
+void
SimpleCPU::serialize(ostream &os)
{
SERIALIZE_ENUM(_status);