Re: [Gems-users] GETS Misses


Date: Wed, 08 Mar 2006 11:11:29 -0600
From: Alaa Alameldeen <alaa@xxxxxxxxxxx>
Subject: Re: [Gems-users] GETS Misses
What you are asking for is not clear. What do you mean by "from the 100 GETS misses in proc 0, there are 40 hits in proc 1 ...etc."? Do you want to track the last processor that touched each block? Each GETS miss can be fetched from either:
- Any of the caches of the other processors OR
- Memory

You can include a new field as a property of cache blocks in ruby/system/CacheMemory.h that you set to the last processor that touches a block. However, when the block is written back to memory, you should reset this field to a default of "N/A" or something similar. Conversely, when you read a block from memory, you should set this field to the same default. This way you know for each GETS miss whether a block last existed in another processor's cache or memory.

I hope that helps.

-Alaa

adash@xxxxxxx wrote:
Hello,

I am working on a 4 processor system with MOSI_SMP_bcast_1level-cache protocol. Most of my functions are initialized and defined inside CacheMemory.h file and called inside the *.sm file. I am interested in writing such as function which will do the following….. Suppose I have 100 read misses(GETS) generated by processor 0, how do I find out the number of hits for these 100 misses inside other processors.

Lets say for the above 100 misses in Proc 0, there are 40 hits in Proc1 for those addresses, 40 hits in Proc 2 and 20 hits in Proc 3(40+40+20 =100). These 40, 40 and 20 is what I am interested to find out. Thanks in advance. Regards, AD

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