When a cache line is in the 'S' (Shared) state and a cache wants to modify the data, what is the first action it must take?
The Shared (S) state means other caches may also hold a copy of the data. To perform a write operation and maintain coherency, the cache that intends to write must first gain exclusive ownership. It does this by broadcasting a signal (BusRdX or Bus Invalidate) that forces all other caches to set their copies of that data block to the 'I' (Invalid) state.