Hi ,
I was going through the load and store instructions from the GEM5 traces
and i could see that at some instances, the load instruction reads from an
address which was not written with valid data before. How is it reading
non-zero data from an address which was not written to? (From the GEM5
traces, there was no store done to the address to which we are trying to
read later on)
Example:
ldr   x28, [x0, #8]
lets say address = 0x7ffffefe28
and this results in reading 0x00000000004471e3 and storing in x28
But there was no memory write to 0x7ffffefe28 done prior. So how are we
getting  0x00000000004471e3?

Also, I tried running the simulation with Debug-Flags as "All" and i could
see :
system.cpu_cluster.cpus.execute: Memory data[0]: 0xe3
the e3 is the lower bits in the data which is read. So how is the upper
bits obtained?

details on the run:
./build/ARM/gem5.opt --debug-flags=All --debug-file=bm1_a77_trace
./configs/example/arm/starter_se.py --cpu minor --cpu-freq 3.0GHz
--mem-type DDR4_2400_8x8 ./tests/bm1

So is there a way to identify which process is writing data to these
addresses? Can i get them printed out to the GEM5 traces?

Please let me know if you require more information from my end.
Regards,
Tom
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to