Hi Muhammad,

The addresses in your application are virtual addresses and the addresses
in the cache are physical addresses.
https://en.wikipedia.org/wiki/Virtual_address_space may help.


Jason Lowe-Power
Assistant Professor, Computer Science Department
University of California, Davis
3049 Kemper Hall

On Fri, Feb 9, 2018 at 5:53 PM Muhammad Ali Akhtar <muhammadali...@gmail.com>

> Hello All,
> I have been following Part-II of Jason's Book, where we create a simple
> MemObject. In the code, our Debug flag prints out the Address of Each
> Memory request in the from.
> "Got Request for Address", pkt->Address.
> I created my own binary (not hello world) and using it as a process.cmd.
> In my binary, I am printing out the address of a variable (using printf).
> When I run this binary in GEM5, without any debug-flags, GEM5 successfully
> executes and My binary prints out the address of variable. This address
> remains same in multiple execution runs ( I compiled the binary as static).
> However, when I run the binary with debug-flags=SimpleMemobj, I was
> expecting that CPU will generate the request for the same Address where my
> variable is. But I never see my variable's address at all in
> "Got Request for Address", pkt->Address.
> Is the CPU not fetching the variables in my binary at all? if yes, than
> how come my binary is executing in GEM5?.
> Muhammad Ali Akhtar
> Principal Design Engineer
> http://www.linkedin.com/in/muhammadakhtar
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
gem5-users mailing list

Reply via email to