3-76
MPC7400 RISC Microprocessor Users Manual
MPC7400 Caches and System Bus Transactions
Notes:
PA = Physical address, CA = Cache address, EA = Effective address.
W,I,M = WIM state from address translation; = complement; 0 or 1 = WIM state implied by transaction type
in table.
F = Instruction fetch transfer type mode; high if HID0[IFTT] = 0b1, high if
lwarx
, low otherwise.
A = Atomic; high if
stwcx.
, low otherwise
S = Transfer size
Special instructions listed may not generate bus transactions depending on cache state.
TT[0D4] = 0b01011 (RWNITC) is snooped by the MPC7400, but is not generated by the MPC7400.
TT[0D4] = 0b00001 (
lwarx
reservation set) is neither snooped nor generated by the MPC7400.
3.9.3 Snooping
The MPC7400 maintains data cache coherency in hardware by coordinating activity
between the data cache, the memory subsystem, the L2 cache, and the bus interface unit.
The MPC7400 has a copyback cache that relies on bus snooping to maintain cache
coherency with other caches in the system. For the MPC7400, the coherency size of the bus
is 32 bytes, the size of a cache block. This means that any bus transactions that cross an
aligned 32-byte boundary must present a new address onto the bus at that boundary for
proper snoop operation by the MPC7400, or they must operate noncoherently with respect
to the MPC7400.
Single-beat write
(caching-inhibited, write-through,
or cache disabled)
PA[0:31]
0 0 0 1 0
1
S S S
W
I
M
AltiVec store (caching-inhibited,
write-through, or cache disabled)
in MPX bus mode
PA[0D28] || 0b000
0 0 0 1 0
0
0 0 1
W
I
M
stwcx.
(caching-inhibited)
PA[0D29] || 0b00
1 0 0 1 0
1
1 0 0
W
0
M
Special instructions:
icbi
(addr-only)
PA[0D26] || 0b00000
0 1 1 0 1
0
0 1 0
W
I
M
dcba
(addr-only)
PA[0D26] || 0b00000
0 1 1 0 0
0
0 1 0
1
1
0
dcbz
(addr-only)
PA[0D26] || 0b00000
0 1 1 0 0
0
0 1 0
1
1
0
dcbi
(addr-only)
PA[0D26] || 0b00000
0 1 1 0 0
0
0 1 0
W
I
M
dcbf
(addr-only)
PA[0D26] || 0b00000
0 0 1 0 0
0
0 1 0
W
I
M
dcbst
(addr-only)
PA[0D26] || 0b00000
0 0 0 0 0
0
0 1 0
W
I
M
sync
(addr-only)
0x0000_0000
0 1 0 0 0
0
0 1 0
1
1
0
tlbsync
(addr-only)
0x0000_0000
0 1 0 0 1
0
0 1 0
1
1
0
tlbie
(addr-only)
EA[0D31]
1 1 0 0 0
0
0 1 0
1
1
0
eieio
(addr-only)
0x0000_0000
1 0 0 0 0
0
0 1 0
1
1
0
eciwx
PA[0D29] || 0b00
1 1 1 0 0
EAR[28D31]
0
0
1
ecowx
PA[0D29] || 0b00
1 0 1 0 0
EAR[28D31]
1
0
1
Table 3-14. Address/Transfer Attributes Generated by the MPC7400 (Continued)
Bus Transaction
A[0:31]
TT[0D4]
TBST
TSIZ[0:2]
WT
CI
GBL