Advanced Computer Architecture, Imperial College 2001
20
The “Berkeley" Protocol
•Four cache line states:
•
•Broadcast invalidations on bus unless cache line is exclusively “owned” (DIRTY)
•Write hit:
•No action if line is DIRTY
•If VALID or SHARED-DIRTY,
•an invalidation is sent, and
•the local state set to DIRTY
•Write miss:
•Line comes from owner (as with read miss).
•All other copies set to INVALID, and line in requesting cache is set to DIRTY
•Read miss:
–If another cache has the line in SHARED-DIRTY or DIRTY,
•it is supplied
•changing state to SHARED-DIRTY
–Otherwise
•the line comes from memory. The state of the
•line is set to VALID
–INVALID
–VALID : clean, potentially shared, unowned
–SHARED-DIRTY : modified, possibly shared, owned
–DIRTY : modified, only copy, owned