Re: [Gems-users] Efficiency of L2 cache


Date: Tue, 16 Feb 2010 18:15:15 -0600
From: Muhammad Shoaib <shoaibbinalt@xxxxxxxx>
Subject: Re: [Gems-users] Efficiency of L2 cache
Thanks for the reply Byn.

I have one more issue which needs clarification, i have a function which is calculating the activity time per cache line (L2). I am calling this function whenever the this action is invoked.

action(d_sendDataToL1GETS, "d", desc="Send data directly to L1 requestor")

But I am just wondering, for L2 cache request will I have to take into account the following actions as well or not??? (I need to care about the all requests to L2)

action(d_sendDataToL1GETX, "\d", desc="Send data and a token from TBE to L1 requestor")

 action(dd_sendDataToFwdGETX, "dd", desc="send data")

action(dd_sendDataToFwdGETS, "\dd", desc="send data")

action(dd_sendExclusiveDataToFwdGETS, "\d\d", desc="send data")

Thanks

Shoaib

On 02/15/10, Byn Choi <bynchoi1@xxxxxxxxxxxx> wrote:

Hi,


I'm no expert in GEMS - just played around with ruby for a while - so this may not be the best way to go about doing this.

I'd add a function in CacheMemory.h that takes the Address of the line and its purpose is to trigger timestamping. It should be easier to do it in CacheMemory.h because you'd want to use  g_eventQueue_ptr->getTime() to get the current ruby cycle.

The other half of the implementation would be in -L2cache.sm.
1. an additional timestamp field in L2Entry structure.
2. in transitions that are triggered by the event that you are interested in studying - LD/ST, etc, call the action whose definition calls the above mentioned timestamping function inside CacheMemory.h. For this, don't forget to add the function signature in the "external_type" construct in the .sm file.

As for the last question, I believe it is called when you do 
simics> ruby0.dump-stats 
Personally, I find that the best way to go about finding out about things like this is to use "fgrep -d recurse" or Ctags, etc.

Byn

On Feb 15, 2010, at 7:28 PM, Muhammad Shoaib wrote:

Hi list,

i am trying to study the efficiency of L2 cache (active blocks count) in a CMP system. For this i need to declare a array or structure which will record the time between two consecutive hits (for each cache line) but I am not sure where i should make the modification should be it in the -L2cache.sim or CacheMemory.h. Any suggestions on that?

And one general question about CacheMemory.h, there is a printConfig function there, its output is in the dump file after the simulation. But from it is being called ?

Muhammad


_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx <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.



--
Muhammad Shoaib Bin Altaf
ECE Graduate Student
UW Madison,WI
[← Prev in Thread] Current Thread [Next in Thread→]