Preserving Inclusion Explicitly
Propagate lower-level (L2) replacements to higher-level (L1)
- Invalidate or flush (if dirty) messages
Propagate bus transactions from L2 to L1
- Propagate all L2 transactions?
- use inclusion bits?
Propagate modified state from L1 to L2 on writes?
- if L1 is write-through, just invalidate
- if L1 is write-back
- add extra state to L2 (dirty-but-stale)
- request flush from L1 on Bus Rd