ReadShared with exclusive access is used to read a location with the intention of updating the location. The same thing can be done using ReadUnique which ensures that the requester gets a unique copy that can then be modified. What is the difference between the two and when would one be used compared to the other?
Thanks Christopher for the detailed answer. Your answer seems to imply that using exclusive transactions (RMW) for synchronization is more efficient than getting the ownership of the line and writing back - effectively emulating the RMW. Is this understanding correct?
It's not not exactly about efficiency.
It's more that the Exclusive sequences gives you the ability to create semaphores or locks. In other words, if you wish to perform an Arm Architectural exclusive sequence, then you would use the exclusive sequence flow described in the CHI Specification.
A ReadUnique would be used in cases where no synchronisation is required and the PE simply wishes to write data into a memory location.