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