Update statistics to use cycles properly instead of ticks
--HG-- extra : convert_revision : 62911280b631ef24720f9ce701d1c19a9b8a9784
This commit is contained in:
parent
58c448ced5
commit
887cd6a273
3 changed files with 7 additions and 5 deletions
|
@ -84,6 +84,7 @@ class BaseCPU : public MemObject
|
||||||
inline Tick frequency() const { return Clock::Frequency / clock; }
|
inline Tick frequency() const { return Clock::Frequency / clock; }
|
||||||
inline Tick cycles(int numCycles) const { return clock * numCycles; }
|
inline Tick cycles(int numCycles) const { return clock * numCycles; }
|
||||||
inline Tick curCycle() const { return curTick / clock; }
|
inline Tick curCycle() const { return curTick / clock; }
|
||||||
|
inline Tick tickToCycles(Tick val) const { return val / clock; }
|
||||||
// @todo remove me after debugging with legion done
|
// @todo remove me after debugging with legion done
|
||||||
Tick instCount() { return instCnt; }
|
Tick instCount() { return instCnt; }
|
||||||
|
|
||||||
|
|
|
@ -1409,7 +1409,8 @@ FullO3CPU<Impl>::wakeCPU()
|
||||||
|
|
||||||
DPRINTF(Activity, "Waking up CPU\n");
|
DPRINTF(Activity, "Waking up CPU\n");
|
||||||
|
|
||||||
idleCycles += (curTick - 1) - lastRunningCycle;
|
idleCycles += tickToCycles((curTick - 1) - lastRunningCycle);
|
||||||
|
numCycles += tickToCycles((curTick - 1) - lastRunningCycle);
|
||||||
|
|
||||||
tickEvent.schedule(nextCycle());
|
tickEvent.schedule(nextCycle());
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@ TimingSimpleCPU::switchOut()
|
||||||
{
|
{
|
||||||
assert(status() == Running || status() == Idle);
|
assert(status() == Running || status() == Idle);
|
||||||
_status = SwitchedOut;
|
_status = SwitchedOut;
|
||||||
numCycles += curTick - previousTick;
|
numCycles += tickToCycles(curTick - previousTick);
|
||||||
|
|
||||||
// If we've been scheduled to resume but are then told to switch out,
|
// If we've been scheduled to resume but are then told to switch out,
|
||||||
// we'll need to cancel it.
|
// we'll need to cancel it.
|
||||||
|
@ -483,7 +483,7 @@ TimingSimpleCPU::fetch()
|
||||||
advanceInst(fault);
|
advanceInst(fault);
|
||||||
}
|
}
|
||||||
|
|
||||||
numCycles += curTick - previousTick;
|
numCycles += tickToCycles(curTick - previousTick);
|
||||||
previousTick = curTick;
|
previousTick = curTick;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -512,7 +512,7 @@ TimingSimpleCPU::completeIfetch(PacketPtr pkt)
|
||||||
|
|
||||||
_status = Running;
|
_status = Running;
|
||||||
|
|
||||||
numCycles += curTick - previousTick;
|
numCycles += tickToCycles(curTick - previousTick);
|
||||||
previousTick = curTick;
|
previousTick = curTick;
|
||||||
|
|
||||||
if (getState() == SimObject::Draining) {
|
if (getState() == SimObject::Draining) {
|
||||||
|
@ -629,7 +629,7 @@ TimingSimpleCPU::completeDataAccess(PacketPtr pkt)
|
||||||
assert(_status == DcacheWaitResponse);
|
assert(_status == DcacheWaitResponse);
|
||||||
_status = Running;
|
_status = Running;
|
||||||
|
|
||||||
numCycles += curTick - previousTick;
|
numCycles += tickToCycles(curTick - previousTick);
|
||||||
previousTick = curTick;
|
previousTick = curTick;
|
||||||
|
|
||||||
Fault fault = curStaticInst->completeAcc(pkt, this, traceData);
|
Fault fault = curStaticInst->completeAcc(pkt, this, traceData);
|
||||||
|
|
Loading…
Reference in a new issue