Re: [Gems-users] Tarcking L2 access in L2directory-sm


Date: Wed, 24 Feb 2010 14:36:36 -0600
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Tarcking L2 access in L2directory-sm
Messages arrive at L2s when that L2 does not (yet) cache the particular block (e.g., an L2 cache miss). When you execute L2cacheMemory[addr], there is an assertion that the line is present. If the line is not present, L2cacheMemory[addr] is meaningless. Hence, you cannot assume in your implementation of cal_act_Time() that the addresses associated with each message resides in-cache without first checking that this is the case.

Regards,
Dan

On Wed, Feb 24, 2010 at 2:20 PM, Muhammad Shoaib <shoaibbinalt@xxxxxxxx> wrote:

List,

I was just trying to catch all the accesses to L2, either from its L1 or from other processors. So is that right, if I insert a function 'cal_act_Time(in_msg.Address)' for all global requests in the following way???

in_port(requestNetwork_in, RequestMsg, GlobalRequestToL2Cache) {
    if (requestNetwork_in.isReady()) {
      peek(requestNetwork_in, RequestMsg) {
          cal_act_Time(in_msg.Address)........
   ......
where i am accessing L2cacheMemory[addr] in my defined function.

The problem with this is that when I use it in this way ..i get the following falied assertion

failed assertion 'loc != -1' at fn ENTRY& CacheMemory<ENTRY>::lookup(const Address&) [with ENTRY = L2Cache_Entry] in system/CacheMemory.h:502

I know that this assertion happens whenever the address is not in the cache...so does this mean i can not call my function here??


Shoaib
_______________________________________________
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.





--
http://www.cs.wisc.edu/~gibson [esc]:wq!
[← Prev in Thread] Current Thread [Next in Thread→]