7.5 Cache coherency
The SCU uses hybrid Modified Exclusive Shared Invalid (MESI) and Modified Owned Exclusive Shared Invalid (MOESI) protocols to maintain coherency between the individual L1 data caches and the L2 cache.
The L1 data caches support the MESI protocol. The L2 memory system contains a Snoop Tag
array that is a duplicate copy of each of the L1 data cache directories. The Snoop Tag array
reduces the amount of snoop traffic between the L2 memory system and the L1 memory system.
Any line that resides in the Snoop Tag array in the Modified/Exclusive state belongs to the
L1 memory system. Any access that hits against a line in this state must be serviced by the
L1 memory system and passed to the L2 memory system. If the line is invalid or in the shared
state in the Snoop Tag array, then the L2 cache can supply the data.
The SCU contains buffers that can handle direct cache-to-cache
transfers between processors without reading or writing any data
on the ACE or CHI interface. Lines can migrate back and forth without
any change to the MOESI state of the line in the L2 cache.
Shareable transactions on the optional ACP are also coherent, so the Snoop Tag
arrays are queried as a result of ACP transactions. For reads where
the Shareable line resides in one of the L1 data caches in the Modified/Exclusive
state, the line is transferred from the L1 memory system to the
L2 memory system and passed back on the ACP.