A legal serial transaction is not a complete controller design. Requests, evictions and responses can overlap, and data can leave a cache array before H has taken it over. This section chooses explicit policies for those overlaps, then maps the obligations into resources.
Lesson | After it you can... |
|---|---|
Name retained facts, missing facts and the event that completes a request. | |
Invalidate a losing upgrader while retaining its store intent. | |
Explain why an ordered request does not imply delivered permission, and handle an Inv or Fwd that arrives before Data. | |
Resolve both arrival orders using protected data and matching releases. | |
Separate core operation state from home transaction state. | |
Require both completed revocations and authoritative data. | |
Distinguish interface capacity from acceptance and permission. | |
Place retained obligations in explicit protected resources. |
Suggested order: transient states and races first, controller resources second. Every race names who wins, who waits and which data remains protected.
The controller may still hold the only current value in a writeback (WB) entry. An incoming Fwd must search the WB entries, not only the array tags.