Advanced Computer Architecture Chapter 7.43
Example Directory Protocol
Message sent to directory causes two actions:
Update the directory
More messages to satisfy request
Block is in Uncached state: the copy in memory is the current value; only possible requests for that block are:
Read miss: requesting processor sent data from memory &requestor made only sharing node; state of block made Shared.
Write miss: requesting processor is sent the value & becomes the Sharing node. The block is made Exclusive to indicate that the only valid copy is cached. Sharers indicates the identity of the owner.
Block is Shared => the memory value is up-to-date:
Read miss: requesting processor is sent back the data from memory & requesting processor is added to the sharing set.
Write miss: requesting processor is sent the value. All processors in the set Sharers are sent invalidate messages, & Sharers is set to identity of requesting processor. The state of the block is made Exclusive.