Hi,
1) I was wondering if the MESI_CMP protocol is currently implemented
as a 'blocking' protocol, similar to how the MOESI_CMP version is.
I see that on this link on the GEMS page that it indicates that the
MOESI_CMP one is blocking, but doesn't indicate anything about the
MESI_CMP version.
http://www.cs.wisc.edu/gems/doc/gems-wiki/moin.cgi/Protocols?action=fullsearch&context=180&value=blocking&titlesearch=Titles
In the MOESI_CMP Version there are coherenceResponseType Messages such
as 'Unblock' / 'Exclusive_Unblock' which seems to enforce the blocking
aspect, and I also see these types in the MESI version, but just
implementing them does not necessarily enforce blocking in all
possible situations.
2) What does the specific meaning of a 'blocking' protocol refer to?
As in, is the following example not possible:
For example, can Core 0 do a STORE X to L1 as L1 does a writeback of
Data: Y to L2?
I suspect no, that in a blocking Cache Coherence Protocol I cannot do
that, but just wanted to confirm.
Malek
|