In addition, since the cache line is stored to write-back buffer first, would the actual transition occur when the write-back buffer successfully "flushes" the cache line to memory?
iZac
@aznshodan You are correct!
Modified -> Invalid transition requires a write-back (flush). Actual transition to Invalid state occurs once the data is sent to the memory controller. Until then it enters an "intermediate" stage and can service other requests such as BusRd, BusRdX (Data Forwarding).
Is it correct to say that eviction transition can happen on any of the following states: Modified, Exlusive, Shared. To be more precise, there can be:
Modified -> Invalid Exclusive -> Invalid Shared -> Invalid
@aznshodan You are correct!
Modified -> Invalid transition requires a write-back (flush). Actual transition to Invalid state occurs once the data is sent to the memory controller. Until then it enters an "intermediate" stage and can service other requests such as BusRd, BusRdX (Data Forwarding).
For a detailed information have a look at Chapter 7 of A Primer on Memory Consistency and Cache Coherence .