Previous | Next --- Slide 14 of 49
Back to Lecture Thumbnails
jmc

In step 4, we see that the owner changes the state of the requested line in its cache to SHARED. So we are still using a state and transition system like those we talked about last lecture (MSI, MESI, MESIF, etc.) to keep track of what communication we have to do, right? It seems that how you keep track of what needs to be communicated (MSI, etc.) is orthogonal to how you do the communication itself (snooping, directory-based).

pdp

@jmc: Yes. Here, the line owner just changes state from modified to shared and provides the copy of the line to processor 0.

paramecinm

@jmc Yes. Both snooping and directory are methods to implement the invalidate-based cache coherence scheme.

apr

So in this case, since there doesn't seem to be any sort of flush to memory by P2, are we following MOESI invalidation scheme? Since when a new read miss occurs, we are going to the dirty cache (in state M) to fetch data (It goes to O state) and the others are in S state.

EDIT: No, it is MESI protocol. On the next slide, step 5 says that there is an update to memory, which is a flush and every cache will now be in S state.