The question is not just which request was sent. Ask what the requester lacks: a usable value, a permission, or both. The four lessons below answer that question for the basic request types.
Lesson | After it you can... |
|---|---|
Say whether a lone reader gets S (MSI) or E (MESI) and why. | |
Explain why another reader need not revoke an existing reader. | |
Acquire the value and exclusive permission from U or from a shared line. | |
Acquire permission without refilling bytes already present. |
Read them in that order. Each example starts from its stated initial state or checkpoint. H handles one transaction for X at a time and keeps it pending until the final grant has been delivered, as the course model assumes.
The I-to-M acquisition lacks a usable value as well as write permission. The upgrade already has readable bytes; it lacks exclusivity. Both may wait on other agents.