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