We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
In ACE protocol how does other masters get to know that a master's cache line is in Unique state?
ACE managers do not directly need to know whether another manager is holding the cache line in a Unique state - what they need to know is when they complete a transaction, whether that cache line should be marked as being in a Unique or Shared state.
For AR requests, this is indicated using RRESP[3]. The value of RRESP[3] is determined by the interconnect, based on how the data was obtained.
- If none of the ACE managers indicated that they had a copy of the cache line after being snooped (CRRESP.IsShared == 0), then the line can be allocated by the ACE manager as Unique
- If any ACE managers respond to the snoop with CRRESP.IsShared == 1, then the line must be marked as being in Shared state by the manager that caused the snoop.
The cache line state can also change if the ACE manager receives a snoop for a cache line. For all snoops other than ReadOnce and CleanShared, the cache line state after snoop must be Shared or Invalid. See Table D5-3 in the ACE Spec Issue H for further details.