summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/use_def.cc
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2010-06-23 18:18:20 -0400
committerKorey Sewell <ksewell@umich.edu>2010-06-23 18:18:20 -0400
commit9f0d8f252c2de0b9ac5654b2c35e913831eba756 (patch)
tree301422de6f4268e44780520b966450578f98193b /src/cpu/inorder/resources/use_def.cc
parent39ac4dce04ccf2d83a29fcd7fc698f607bf720d4 (diff)
downloadgem5-9f0d8f252c2de0b9ac5654b2c35e913831eba756.tar.xz
inorder-stats: add instruction type stats
also, remove inst-req stats as default.good for debugging but in terms of pure processor stats they aren't useful
Diffstat (limited to 'src/cpu/inorder/resources/use_def.cc')
-rw-r--r--src/cpu/inorder/resources/use_def.cc23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/cpu/inorder/resources/use_def.cc b/src/cpu/inorder/resources/use_def.cc
index cf3883e47..849d36999 100644
--- a/src/cpu/inorder/resources/use_def.cc
+++ b/src/cpu/inorder/resources/use_def.cc
@@ -66,6 +66,23 @@ UseDefUnit::regStats()
.name(name() + ".uniqueRegsPerSwitch")
.desc("Number of Unique Registers Needed Per Context Switch")
.prereq(uniqueRegsPerSwitch);
+
+ regFileReads
+ .name(name() + ".regFileReads")
+ .desc("Number of Reads from Register File");
+
+ regForwards
+ .name(name() + ".regForwards")
+ .desc("Number of Registers Read Through Forwarding Logic");
+
+ regFileWrites
+ .name(name() + ".regFileWrites")
+ .desc("Number of Writes to Register File");
+
+ regFileAccs
+ .name(name() + ".regFileAccesses")
+ .desc("Number of Total Accesses (Read+Write) to the Register File");
+ regFileAccs = regFileReads + regFileWrites;
Resource::regStats();
}
@@ -182,7 +199,7 @@ UseDefUnit::execute(int slot_idx)
}
outReadSeqNum[tid] = maxSeqNum;
-
+ regFileReads++;
ud_req->done();
} else {
DPRINTF(InOrderUseDef, "[tid:%i]: Unable to read because "
@@ -240,7 +257,7 @@ UseDefUnit::execute(int slot_idx)
}
outReadSeqNum[tid] = maxSeqNum;
-
+ regForwards++;
ud_req->done();
} else {
DPRINTF(InOrderUseDef, "[tid:%i]: Unable to read "
@@ -353,7 +370,7 @@ UseDefUnit::execute(int slot_idx)
}
outWriteSeqNum[tid] = maxSeqNum;
-
+ regFileWrites++;
ud_req->done();
} else {
DPRINTF(InOrderUseDef, "[tid:%i]: Unable to write because "