diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-31 22:28:13 -0800 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-01-31 22:28:13 -0800 |
commit | 4e00cc9900ec4f61899ee5be0c5b3827487e91f5 (patch) | |
tree | 372809113645b16ab99adb5c4b81d7f3512780e5 /src/cpu/inorder/resources/execution_unit.cc | |
parent | deb97742c7ada2008ec79aaf1791f7db3c6a2b06 (diff) | |
parent | 04466ab4ca04a4e1e195a6f68423792b2553dadb (diff) | |
download | gem5-4e00cc9900ec4f61899ee5be0c5b3827487e91f5.tar.xz |
merge
Diffstat (limited to 'src/cpu/inorder/resources/execution_unit.cc')
-rw-r--r-- | src/cpu/inorder/resources/execution_unit.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/cpu/inorder/resources/execution_unit.cc b/src/cpu/inorder/resources/execution_unit.cc index 6c44e2456..429291231 100644 --- a/src/cpu/inorder/resources/execution_unit.cc +++ b/src/cpu/inorder/resources/execution_unit.cc @@ -54,6 +54,17 @@ ExecutionUnit::regStats() .name(name() + ".predictedNotTakenIncorrect") .desc("Number of Branches Incorrectly Predicted As Not Taken)."); + lastExecuteCycle = curTick; + + cyclesExecuted + .name(name() + ".cyclesExecuted") + .desc("Number of Cycles Execution Unit was used."); + + utilization + .name(name() + ".utilization") + .desc("Utilization of Execution Unit (cycles / totalCycles)."); + utilization = cyclesExecuted / cpu->numCycles; + Resource::regStats(); } @@ -75,6 +86,12 @@ ExecutionUnit::execute(int slot_num) { case ExecuteInst: { + if (curTick != lastExecuteCycle) { + lastExecuteCycle = curTick; + cyclesExecuted++; + } + + if (inst->isMemRef()) { panic("%s not configured to handle memory ops.\n", resName); } else if (inst->isControl()) { |