9-6
MPC7400 RISC Microprocessor Users Manual
MPC7400 System Interface Overview
Cache lines are selected for replacement based on a pseudo least-recently-used (PLRU)
algorithm. Each time a cache block is accessed, it is tagged as the most recently used way
of the set (unless accessed by the AltiVec LRU instructions, see Section 3.6.8.1, òAltiVec
LRU Instruction Supportó). For every hit in the cache or when a new block is reloaded, the
PLRU bits for the set are updated. Data cache replacement selection is performed at reload
time, not when a miss occurs. However, instruction cache replacement selection occurs
when an instruction cache miss is Trst recognizedthat is, the instruction cache
replacement target is selected upon miss and not at reload.
A data cache block Tll is caused by a load miss or write-back store miss in the cache. The
cache block that corresponds to the missed address is updated by a burst transfer of the data
from the L2 cache or system memory after any necessary coherency actions have
completed.
For more information about the interactions of the instruction and data caches and the
system interface, see Section 3.8, òSystem Bus Interface Unit.ó
9.1.4 L2 Cache and System Interface
The MPC7400 provides an on-chip, two-way set associative tag memory, and a dedicated
L2 cache port with support for up to 2 Mbyte of external synchronous SRAMs for data
storage. The L2 cache usually operates in write-back mode and supports system cache
coherency through snooping.
The L2 cache receives independent memory access requests from both the L1 instruction
and data caches. The L1 accesses are compared to the L2 cache tags and the data or
instructions are forwarded from the L2 to the L1 cache if there is a cache hit, or are
forwarded on to the bus interface unit if there is an L2 cache miss, or if the address being
accessed is from a page marked as caching-inhibited. Burst read accesses that miss in the
L2 cache initiate a load operation from the bus interface. L1 data cache misses cause
allocates into the data cache only; they do not cause allocation into the L2 cache. The L2
cache is solely a victim cache for the L1 data cache. The L2 cache allocates new entries for
data accesses only when blocks are cast out of the data cache.
An L1 load, store, or castout operation can cause an L2 cache block allocation resulting in
the castout of an L2 cache block marked modiTed to the bus interface. For additional
information about the operation of the L2 cache, refer to Section 3.7, òL2 Cache Interface.ó
9.1.5 Operation of the System Interface
Memory accesses can occur in single-beat (1, 2, 3, 4, and 8 bytes), double-beat (16 bytes),
and four-beat (32 bytes) burst data transfers. For memory accesses, the address and data
buses are independent to support pipelining and split transactions. The MPX bus protocol
can pipeline as many as seven transactions and supports full out-of-order split-bus
transactions.