Re: [Gems-users] question on triggering event


Date: Thu, 15 Feb 2007 21:11:02 -0600
From: "Lei Yang" <lya755@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] question on triggering event
Hi Liqun,
 
You don't need to trigger L1_to_L2 after L2_Replacement. If you look at the generated L2Cache_Wakeup.C file, you'll understand how this thing works. Every "trigger", if successful, will lead to "continue" of the loop, which starts to check from the first port again. So by the time it reached this port, it will trigger L1_to_L2 because L2 already has the room.
 
Hope this helps,
 
Lei
----- Original Message -----
Sent: Thursday, February 15, 2007 6:16 PM
Subject: [Gems-users] question on triggering event

Hi,

Here are some transitions invovled when loading a cache line into L1. MOESI_SMP_directory-cache.sm line 354.
In the second case (L2 doesn't have room, so we replace a line from the L2), do we need to trigger Event:L1_to_L2 again after L2_Replacement, or Event:L1_to_L2 will be retried again in the next cycle?

if (L2cacheMemory.cacheAvail(L1IcacheMemory.cacheProbe(in_msg.Address))) {
      // The L2 has room, so we move the line from the L1 to the L2
      trigger(Event:L1_to_L2, L1IcacheMemory.cacheProbe(in_msg.Address));
} else {
      // The L2 does not have room, so we replace a line from the L2
      trigger(Event:L2_Replacement, L2cacheMemory.cacheProbe(L1IcacheMemory.cacheProbe(in_msg.Address)));
}

thanks
Liqun


_______________________________________________
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→]