
MOTOROLA
Chapter 4. Instruction and Data Cache Operation
For More Information On This Product,
Go to: www.freescale.com
4-21
Cache Coherency—MEI Protocol
4.7.8
Operations Causing core_artry Assertion
The following scenarios cause the G2 core to assert the core_artry_out signal:
Snoop hits to a block in the M state (flush or clean)
This case is a normal snoop hit and will result in core_artry_out being asserted if the
snooped transaction was a flush or clean request. If the snooped transaction was a
kill request, core_artry_out will not be asserted.
Snoop attempt during the last core_ta of a cache line fill
In No-core_drtry mode, during the cycle that the last core_ta is asserted to the G2
core on a cache line fill, the tag is being written to its new state by the G2 core and
is not accessible. This will result in a collision being signaled by asserting
core_artry_out. With core_drtry enabled, the cache tags are inaccessible to a snoop
operation one cycle after the last core_ta.
Write-with-kill
In a write-with-kill operation, the processor snoops the cache for a copy of the addressed
block. If one is found, an additional snoop action is initiated internally and the cache block
is forced to the I state, killing modified data that may have been in the block. Any
reservation associated with the block is also canceled.
Read
Read-atomic
The read operation is used by most single-beat and burst read operations on the bus. All
burst reads observed on the bus are snooped as if they were writes, causing the addressed
cache block to be flushed. A read on the bus with the core_gbl signal asserted causes the
following responses:
If the addressed block in the cache is invalid, the G2 core takes no action.
If the addressed block in the cache is in the exclusive state, the block is invalidated.
If the addressed block in the cache is in the modified state, the block is flushed to
memory and the block is invalidated.
If the snooped transaction is a caching-inhibited read and the block in the cache is in
the exclusive state, the snoop causes no bus activity and the block remains in the
exclusive state. If the block is in the cache in the modified state, the G2 core initiates a
push of the modified block out to memory and marks the cache block as exclusive.
Read-atomic operations appear on the bus in response to
lwarx
instructions and
generate the same snooping responses as read operations.
Read-with-intent-to-
modify (RWITM)
RWITM-atomic
A RWITM operation is issued to acquire exclusive use of a memory location for the
purpose of modifying it.
If the addressed block is invalid, the G2 core takes no action.
If the addressed block in the cache is in the exclusive state, the G2 core initiates an
additional snoop action to change the state of the cache block to invalid.
If the addressed block in the cache is in the modified state, the block is flushed to
memory and the block is invalidated.
The RWITM-atomic operations appear on the bus in response to
stwcx.
instructions and
are snooped like RWITM instructions.
sync
No action is taken
TLB invalidate
No action is taken
Table 4-6. Response to Bus Transactions (continued)
Snooped Transaction
G2 Core Response
F
Freescale Semiconductor, Inc.
n
.