Hi all,

It is worth pointing out that everything that happens on the same gem5
time step (Tick), happens in parallel from the perspective of the
simulated system. Thus, it does not matter that the simulator code is
sequential.

Andreas

On 3/10/14, 8:48 PM, "Mohamad Jokar" <[email protected]> wrote:

>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
>


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered 
in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England & Wales, Company No:  2548782

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

Reply via email to