diff options
author | Korey Sewell <ksewell@umich.edu> | 2010-06-23 18:18:20 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2010-06-23 18:18:20 -0400 |
commit | 9f0d8f252c2de0b9ac5654b2c35e913831eba756 (patch) | |
tree | 301422de6f4268e44780520b966450578f98193b /src/cpu/inorder/resources/use_def.cc | |
parent | 39ac4dce04ccf2d83a29fcd7fc698f607bf720d4 (diff) | |
download | gem5-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.cc | 23 |
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 " |