If you want to make sure that both execution are similar, you can use
the util/tracediff script (http://www.m5sim.org/Debugging#tracediff).
If they are, it simply means that prefetched blocks are considered as
accessed blocks hence I guess it is normal to see different addresses
between the two runs.
If not, then there is indeed a problem.
Specifically for my prefetcher, assume the program code looks like this
LD 0x90
ADD ...
Assume my prefetcher, predict something else which is wrong. Then
there should be a annotating mechanism that compare what I predicted
and what is actually accessed (from the assembly code). Then the
result will be a "wrong prefetch". However with the current
infrastructure, no matter what is prefetched, they are always
considered to be correct.
Somebody will correct me if I'm wrong but as you said, by reading the
code of the current available prefetchers, I don't think accuracy and
timeliness are taken into account to train prefetchers.
Therefore, you'll have to implement that in your own prefetchers if you
want it.
Arthur.
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users