Yes to both, Tag comparison in real systems is parallel, but here in the simulator it is not needed to perform it in parallel. It is just needed to have correct functionality (the code you mentioned above) and timing (hit latency).
-------------------------------------------- On Mon, 3/10/14, Tanmay Gadre <[email protected]> wrote: Subject: Re: [gem5-users] SERIAL TAG COMPARISION IN cacheset.hh FILE To: "Mohamad Jokar" <[email protected]>, "gem5 users mailing list" <[email protected]> Date: Monday, March 10, 2014, 11:22 PM But isn't the definition of set associative cache to compare the tags of all ways in parallel ? And is the function that I mentioned in my last post actually the real function where tag comparisons take place or is there any other function in some other file that does the comparisons ? On Mon, Mar 10, 2014 at 10:02 PM, Mohamad Jokar <[email protected]> wrote: > 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 _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
