thank you:)
yes i think you are right and in this case the content of the Dirty flag may not
have any impact on the correctness...
regards,
lihui
ÔÚÄúµÄÀ´ÐÅÖÐÔø¾Ìáµ½:
>From: Marco Solinas <marco.solinas@xxxxxxxxxxxx>
>Reply-To:
>To: Hui Li <lihui@xxxxxxxxxxxxxxxx>, Gems Users <gems-users@xxxxxxxxxxx>
>Subject: Re: [Gems-users] "e_sendData" in MOESI_CMP_directory-L1cache.sm
>Date:Wed, 16 Apr 2008 11:00:35 +0200
>
>I've never worked with this protocol, but in my view (please correct me
> if I'm wrong) it is correct because the request is a GETS, so a
> non-exclusive read. The cache receiving the block will store it in the S
> state, (transition(IS, Data, S){...}), so the block has not to be
> considered dirty for the requesting node; instead, the dirty information
> is still held by the sender cache, that changes the state from M to O.
> In fact, when the Ownership changes (in case of a GETX forwarded to a
> cache that holds a block in either M or O), the action used to provide
> the requesting cache with the block is not e_sendData, instead it is
> e_sendDataExclusive (transition(M, Fwd_GETX, I){...} and transition(O,
> Fwd_GETX, I){...} for example). This action set the Dirty flag of the
> outgoing message to the same value of the Dirty flag of the cache tag.
>
> Marco
>
> Hui Li ha scritto:
> > hello,
> > the action e_sendData in MOESI_CMP_directory-L1cache.sm always does this:
> > out_msg.Dirty := false;
> > so it means that the contents in the cache entry are the same with memory.
> > however, in transition:
> > transition(M, Fwd_GETS, O) {
> > e_sendData;
> > l_popForwardQueue;
> > }
> > the Dirty flag should be true, right? or I missed some point?
> > regards,
> > lihui
> >
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
> >
> >
> >
> >
>
>
>
|