Thanks Dan.
 I'm not sure what you mean by the L1s are not separate entities in all 
the protocols.
 I notice that for the MOESI_CMP protocol, the L1Cache controller calls 
profile_miss(...) from the Ruby_Slicc interface which in turn calls 
addSecondaryStatSample(...) which increments the number of misses in the 
L2 cache.
The L2Cache controller calls profile_L2Cache_miss(...) which in turn 
calls addSecondaryStatSample.
 I'm not too clear on the difference in the details between the different 
protocols, but it seems odd that the L1 cache controller's profiling 
function eventually calls addSecondaryStatSample(...). This is not the 
case in the MOSI_SMP protocol though.
Ranjith
Dan Gibson wrote:
 
Many of the protocols do not actually profile the L1s.
 In fact, the L1s are not separate entities in the all the protocols... 
so the point at which L1 accesses are profiled varies from protocol to 
protocol, if indeed they are profiled at all.
 It should be relatively straightforward to add L1 profiling. If "fast 
path hits" are ON, (see rubyconfig.defaults), then you can add profiling 
code to Sequencer.C. Otherwise, you can use the L1 controller's SLICC code.
Regards,
Dan Gibson
Ranjith Subramanian wrote:
  
Hello,
  I have a question about how cache misses are profiled in ruby. I start 
simics, load a checkpoint which is essentially the prompt after a linux 
boots up, load ruby and continue simulating for a few seconds and dump 
ruby stats. I see that the L1 instruction and data caches aren't 
accessed at all but the L2 cache is. All the misses reported for the L2 
cache are demand misses. I'm not sure what I'm missing here.
Ranjith
_______________________________________________
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.
  
   
 
  
 
 
 |