Hi,
To troubleshoot an issue I've been having with measuring the base CPI
from the point of view of the L2-cache (i.e. any cycles spent on normal
execution + branch mispredictions + L1 hits and misses), I'm looking to
make the L2-cache behave as though every access to it were a hit. I
figured I'd do that by making the latency for an L2 miss the same as the
latency for an L2-hit. That might be kind of difficult to do in timing
mode since (I think?) the membus introduces a variable amount of latency
between the time the data comes back from main memory and the next bus
cycle. In particular, I'm referring to this bit of code from
calcBusTiming in bus.cc (line 148-152), which is called on recvTiming():
if (tickNextIdle < curTick()) {
tickNextIdle = curTick();
if (tickNextIdle % clock != 0)
tickNextIdle = curTick() - (curTick() % clock) + clock;
}
What I'd really like to do is to simply charge the L2 hit latency as
usual, and then fetch the data from main memory without bothering with
any latencies. So I was wondering if maybe doing a functional access
might be just what I need? I've really only worked with timing mode so
far, so I'm not sure if I've got the right idea about how functional
accesses work. I've read the wiki page on the type of memory system
accesses and they do indeed happen instantaneously, but I figured I'd
double-check to make sure there's nothing of importance I'm missing.
Cheers,
Jeroen DR
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users