}
// Initialize TimeBuffer Stage Queues
- // For now just have these time buffers be pretty big.
- // @note: This could be statically allocated but changes
- // would have to be made to the standard time buffer class.
for (int stNum=0; stNum < NumStages - 1; stNum++) {
stageQueue[stNum] = new StageQueue(NumStages, NumStages);
+ stageQueue[stNum]->id(stNum);
}
if (prevStageValid) {
int insts_from_prev_stage = prevStage->size;
- DPRINTF(InOrderStage, "%i insts available from previous stage.\n",
- insts_from_prev_stage);
+ DPRINTF(InOrderStage, "%i insts available from stage buffer %i.\n",
+ insts_from_prev_stage, prevStageQueue->id());
for (int i = 0; i < insts_from_prev_stage; ++i) {
tid, cpu->pipelineStage[next_stage]->stageBufferAvail());
DPRINTF(InOrderStage, "[tid:%u]: [sn:%i]: being placed into "
- "index %i stage %i queue.\n",
- tid, inst->seqNum, toNextStageIndex, inst->nextStage);
+ "index %i of stage buffer %i queue.\n",
+ tid, inst->seqNum, toNextStageIndex,
+ cpu->pipelineStage[prev_stage]->nextStageQueue->id());
int next_stage_idx = cpu->pipelineStage[prev_stage]->nextStage->size;