Hi,

I am trying to generate load/store address trace ( virtual address). Thus
will able to capture the program data access behavior independent of
architecture. Only want those load's /store's which are committed.

The way I am trying to generate the load/store address trace by reading load
store queue, lsq->virtaddr in ReorderBurfferEntry::commit() function, just
before returning commit result ok.

Problem:
The generated address trace contains multiple entry for the same address and
there is no pattern in the repetition. Some time its for 3 times, at other
times its 4 times and so. This happens for load as well as store. Running a
simple test code, with array of 100,000
int, initializing it and then accessing every 100th element.

Is it possible by any chance that, since I am running this test code in
given Qemu image and since Qemu is a virtual machine. So there is some
internal code translation and blocking by virtual machine of Qemu. Because
of blocking different addresses are mapped to same block of virtual machine
and thus I am getting multiple load /store virtual address to be same.


Another issue, it has lots of load and store at virtual address 0x0, is it
for constant value zero?. If so, then why there are store's at 0x0.

Thank you very much in anticipation. And if any one else had already
generated load/store trace can kindly share the knowledge.

Thanks & Regards
Sunil Shah
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to