From 867a9b84d9d633bed17a8880f84864840b923dfd Mon Sep 17 00:00:00 2001 From: Erik Hallnor Date: Sun, 17 Oct 2004 00:07:21 -0400 Subject: Bunch of little changes for tracking copies and getting OPT right. cpu/simple_cpu/simple_cpu.cc: Send Copy cpu/trace/opt_cpu.cc: Calculate the block size correctly. Set lookupTable value directly, since the old way only worked for FA caches. cpu/trace/trace_cpu.cc: Don't start events if the hierarchy is in non-event mode. --HG-- extra : convert_revision : daf2db5ed7428c2fb08652cf76f6fe99d8357db5 --- cpu/trace/trace_cpu.cc | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'cpu/trace/trace_cpu.cc') diff --git a/cpu/trace/trace_cpu.cc b/cpu/trace/trace_cpu.cc index e19509fec..b69793a4b 100644 --- a/cpu/trace/trace_cpu.cc +++ b/cpu/trace/trace_cpu.cc @@ -75,9 +75,14 @@ TraceCPU::tick() icacheInterface->squash(nextReq->asid); } else { ++instReqs; - nextReq->completionEvent = - new TraceCompleteEvent(nextReq, this); - icacheInterface->access(nextReq); + if (icacheInterface->doEvents()) { + nextReq->completionEvent = + new TraceCompleteEvent(nextReq, this); + icacheInterface->access(nextReq); + } else { + icacheInterface->access(nextReq); + completeRequest(nextReq); + } } } else { if (dcacheInterface->isBlocked()) @@ -85,9 +90,15 @@ TraceCPU::tick() ++dataReqs; nextReq->time = curTick; - nextReq->completionEvent = - new TraceCompleteEvent(nextReq, this); - dcacheInterface->access(nextReq); + if (dcacheInterface->doEvents()) { + nextReq->completionEvent = + new TraceCompleteEvent(nextReq, this); + dcacheInterface->access(nextReq); + } else { + dcacheInterface->access(nextReq); + completeRequest(nextReq); + } + } nextCycle = dataTrace->getNextReq(nextReq); } -- cgit v1.2.3