Chapter 3. L1 and L2 Cache Operation
3-65
L2 Cache Interface
3.7.5.3 Store Hit to a Shared or Recent L2 Cache Block
If a write-back store misses in the L1 data cache but hits on an L2 cache block in the shared
or recent state, the L2 cache provides the cache block to the reload data buffer. A kill
operation is then propagated to the system bus. The reload data buffer treats the entry as a
hit-on-shared/hit-on-recent and waits for the bus to complete the kill broadcast before
reloading the data cache.
As in the data cache hit-on-shared/hit-on-recent case, if a snoop operation invalidates
ownership of the target block before the kill operation is successful, the reload buffer entry
changes to treat the entry like a normal store miss. In this case, the MPC7400 performs a
RWITM operation on the address bus instead and reloads the L1 data cache in the modiTed
state.
3.7.6 L2 Cache Clock ConTguration
The MPC7400 provides a programmable clock for the L2 cache external synchronous data
RAM. The clock frequency for the external SRAM is provided by dividing the MPC7400s
internal clock by ratios of 1, 1.5, 2, 2.5, 3, 3.5, or 4 programmed through the L2CR[CLK]
bit. The L2 cache clock is phase-adjusted to synchronize the clocking of the latches in the
MPC7400s L2 cache interface with the clocking of the external SRAM by means of an
on-chip delay-locked loop (DLL).
The ratio selected for the L2 cache clock is dependent on the frequency supported by the
external SRAMs, the MPC7400s internal operation frequency, and the range of phase
adjustment supported by the L2 cache DLL. Refer to the MPC7400 hardware speciTcations
for additional information about L2 cache clock conTguration.
3.7.7 L2 Cache Testing
In the course of system power-up, testing may be required to verify proper operation of the
L2 cache tags, external SRAMs, and overall L2 cache system. This section describes
features and methods for testing the L2 cache.
L2CR[L2DO] and L2CR[L2TS] support the testing of the L2 cache. L2CR[L2DO]
prevents instructions from being cached in the L2 cache. This allows the L1 instruction
cache to remain enabled during the testing process without having L1 instruction cache
misses affect the contents of the L2 cache and allows all L2 cache activity to be controlled
by program-speciTed load and store operations.
L2CR[L2TS] is used with the
dcbf
and
dcbst
instructions to push data into the L2 cache.
When L2TS is set,
dcbf
pushes from the L1 data cache are allocated in the L2 cache (rather
than stored to the system bus as with normal
dcbf
operations) and all
dcbz
operations are
treated as non-global (to suppress address broadcasts). In addition, write-through stores are
not forwarded to the system interface. Write-through stores that hit in the L2 cache update
the cache data RAMs. L2TS allows general testing of the L2 cache data RAMs and tags by