Stats::Vector producerInst;
/** Number of instructions that wake up from producers. */
Stats::Vector consumerInst;
- /** Number of instructions that were delayed in writing back due
- * to resource contention.
- */
- Stats::Vector wbPenalized;
/** Number of instructions per cycle written back. */
Stats::Formula wbRate;
/** Average number of woken instructions per writeback. */
Stats::Formula wbFanout;
- /** Number of instructions per cycle delayed in writing back . */
- Stats::Formula wbPenalizedRate;
};
#endif // __CPU_O3_IEW_HH__
.desc("num instructions consuming a value")
.flags(total);
- wbPenalized
- .init(cpu->numThreads)
- .name(name() + ".wb_penalized")
- .desc("number of instrctions required to write to 'other' IQ")
- .flags(total);
-
- wbPenalizedRate
- .name(name() + ".wb_penalized_rate")
- .desc ("fraction of instructions written-back that wrote to 'other' IQ")
- .flags(total);
-
- wbPenalizedRate = wbPenalized / writebackCount;
-
wbFanout
.name(name() + ".wb_fanout")
.desc("average fanout of values written-back")