Re: [Gems-users] how to trace the real memory access info


Date: Thu, 1 Apr 2010 09:27:33 -0400
From: Polina Dudnik <pdudnik@xxxxxxxxx>
Subject: Re: [Gems-users] how to trace the real memory access info
You would have to do it in the coherence protocol. For example, take a look at MESI_CMP_directory-mem.sm. You will find there things like:

  transition(I, Fetch, IM) {
    qf_queueMemoryFetchRequest;
    e_ownerIsRequestor;
    j_popIncomingRequestQueue;
  }

This means that a memory fetch is issued.

  transition(IM, Memory_Data, M) {
    d_sendData;
    l_popMemQueue;
  }

This means data came back from memory.

You can look inside qf_queueMemoryFetchRequest and d_sendData and insert some sort of callback in DirectoryMemory for example.

Polina

On Thu, Apr 1, 2010 at 1:54 AM, Xing Zhang <zxj.xing@xxxxxxxxx> wrote:
Hi there,

I want to get memory  access trace from GEMS to feed DRAMsim, a memory simulator. And i did it by adding code to ruby_operate function in   $GEMS/ruby/module/ruby.c. This function is called once for every memory operation. But i found it my code catches every request that cpu send to cache, not to memory after cache miss.

What i really want to get is the memory access between cache and memory after cache miss,  the request send to memory, not to cache. Dose anyone know how to do it?

Thanks in advance.

Xing 
 


_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.



[← Prev in Thread] Current Thread [Next in Thread→]