summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/pipeline_stage.cc
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2010-01-31 18:30:24 -0500
committerKorey Sewell <ksewell@umich.edu>2010-01-31 18:30:24 -0500
commitea8909925fd0e7a33feabc9e17f83b85cd7c6039 (patch)
tree8e73a1913dffbafc48831781e075fb573c1adbbb /src/cpu/inorder/pipeline_stage.cc
parentf3bc2df663cccd7db7a4ba87acfc2d0137a5ca02 (diff)
downloadgem5-ea8909925fd0e7a33feabc9e17f83b85cd7c6039.tar.xz
inorder: add activity stats
Diffstat (limited to 'src/cpu/inorder/pipeline_stage.cc')
-rw-r--r--src/cpu/inorder/pipeline_stage.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cpu/inorder/pipeline_stage.cc b/src/cpu/inorder/pipeline_stage.cc
index 550952947..c991fe1bd 100644
--- a/src/cpu/inorder/pipeline_stage.cc
+++ b/src/cpu/inorder/pipeline_stage.cc
@@ -42,7 +42,7 @@ PipelineStage::PipelineStage(Params *params, unsigned stage_num)
: stageNum(stage_num), stageWidth(ThePipeline::StageWidth),
numThreads(ThePipeline::MaxThreads), _status(Inactive),
stageBufferMax(ThePipeline::interStageBuffSize[stage_num]),
- prevStageValid(false), nextStageValid(false)
+ prevStageValid(false), nextStageValid(false), idle(false)
{
switchedOutBuffer.resize(ThePipeline::MaxThreads);
switchedOutValid.resize(ThePipeline::MaxThreads);
@@ -707,6 +707,8 @@ PipelineStage::checkSignalsAndUpdate(ThreadID tid)
void
PipelineStage::tick()
{
+ idle = false;
+
wroteToTimeBuffer = false;
bool status_change = false;
@@ -794,8 +796,10 @@ PipelineStage::processStage(bool &status_change)
if (instsProcessed > 0) {
++runCycles;
+ idle = false;
} else {
++idleCycles;
+ idle = true;
}
DPRINTF(InOrderStage, "%i left in stage %i incoming buffer.\n", skidSize(),