Hi

The hit latency of the caches formula normally consist of two part, tag search 
time and data time.
"hit latency = tag search time + data time"

If you want to see the effect of parallel and serial comparison you should 
change hit latency of the cache (the tag part) not the code above. Take a look 
at "/configs/Caches.py"

I hope that helps.
  



On Monday, March 10, 2014 7:26 PM, tanmayGadre <[email protected]> wrote:
 
I was looking at the file cacheset.hh (path is mem/cache/tags/cacheset.hh) .
i found the code for tag comparison is written for a serial comparison . 
Ideally the tags should be compared in parallel . But
 according to the code
, they seem to be compared in series one after another .
following is the code in which i have the query :
template <class Blktype>

Blktype*
CacheSet<Blktype>::findBlk(Addr tag, bool is_secure, int& way_id) const
{
     way_id = assoc;
     for (int i = 0; i < assoc; ++i) {
        if (blks[i]->tag == tag && blks[i]->isValid() &&
             blks[i]->isSecure() == is_secure) {
             way_id = i;
             return blks[i];
         }
     }
     return NULL;
}

Shouldn't we use something like fork and join for parallel comparisons ?
Kindly tell me is my analysis of the code correct or incorrect ?
I need this piece of code to be correct for my
 project .


_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to