Just want to clarify, by saying "program analysis techniques to obtain the 
memory address of mem load operation", of course I mean indirect memory load 
operations, since the memory addresses of direct memory access can be read from 
the assembly code....
________________________________
发件人: gem5-users <gem5-users-boun...@gem5.org> 代表 ps4 lover 
<ps4lover011...@outlook.com>
发送时间: 2016年12月20日 8:38:23
收件人: gem5 users mailing list
主题: [gem5-users] 答复: Monitoring access towards different cache line during 
execution time


Dear Jason,


Thank you so much for your response, I will try to dig into the details of 
implementing such monitor/probe mechanism.


On the other hand, I understood that I can calculate the cache line request by 
dividing the memory address with cache line size. However, what I was expecting 
is a little bit different from this...


Let's say, I have utilized some program analysis techniques to obtain the 
memory address of certain memory load operations, and I have already inferred 
the cache line number for such memory access by using the calculation you 
mentioned.


Right now, what I want to do is to confirm my inference by using some low-level 
hardware simulator (gem5). So basically what I am expecting, is to see which 
cache line is accessed. I was expecting that the cache utility of gem5 itself 
can confirm with me for such data, as I have already do the 
calculation/analysis very highlevelly.


Is it possible to do so..? Sorry I am a software engineering people, and my 
question/concern would be very unreasonable... If it is not possible, just let 
me know, I guess I can go with that as well. Thank you!



________________________________
发件人: gem5-users <gem5-users-boun...@gem5.org> 代表 Jason Lowe-Power 
<ja...@lowepower.com>
发送时间: 2016年12月20日 8:13:48
收件人: gem5 users mailing list
主题: Re: [gem5-users] Monitoring access towards different cache line during 
execution time

Hello,

You can add a CommMonitor to your memory hierarchy where ever you want to 
intercept memory requests (e.g., between the CPU and the dcache for all data 
cache accesses). Then, you can create a MemTraceProbe. This will create a trace 
file as specified by you in the params when instantiating the probe. It will 
trace all of the packets that pass through the CommMonitor (see "ppPktReq" in 
comm_monitor.cc). You will probably want to enable "with_pc" so you can also 
get the PC of requests.

To convert the requests into cache line requests you can simply divide the 
address by the cache line size.

Cheers,
Jason

On Mon, Dec 19, 2016 at 7:20 PM ps4 lover 
<ps4lover011...@outlook.com<mailto:ps4lover011...@outlook.com>> wrote:


Dear List,



I would like to leverage `gem5` to monitor the cache access of a program during 
the runtime.

In particular, considering the following program in assembly code, I would like 
to know, when executing the third memory access instruction (let's say its 
memory address is 0x123456), which cache line it is accessing.


    0x123430: add eax, 1

   0x123440: mov eax, ebx

   0x123456: load eax, [0x8042420]  <----------- load memory content from 
memory address 0x8042420




The simulation is on `32-bit x86` architecture. I am using some median-size C 
program for testing. I watched some tutorials to get familiar with the basic 
functionality of `gem5`, but still have no idea how to intercept the cache 
state for my need during runtime. I am aware the existence of the probe 
utility, but I do find it is hard for me to start with it, especially I would 
like to check the cache access regarding certain lines of instructions.


I am a newbie to `gem5`, and I am actually not an expert in computer 
architecture related stuff.. Sorry if it is a very trivial question.. Any 
advice and suggestion would be appreciated, thank you!





_______________________________________________
gem5-users mailing list
gem5-users@gem5.org<mailto:gem5-users@gem5.org>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
--

Jason
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to