3-48
MPC7400 RISC Microprocessor Users Manual
Cache Operations
Using the reload buffer for hit-on-shared/hit-on-recent simpliTes snooping. If a snoop
operation invalidates ownership of the target block before the kill operation is successful,
then the reload buffer entry is changed 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 data cache in the MCD state.
3.6.7 Data Cache Block Push Operation
When a cache block in the MPC7400 is snooped and hit by another bus master and the data
is modiTed, the cache block must be written to memory and made available to the snooping
device. The cache block that is hit is said to be pushed out onto the system bus. The
MPC7400 supports two kinds of snoop push operationsnormal push operations and
enveloped high-priority push operations, which are described in Section 9.4.4, òUsing Data
Bus Write Only (DBWO).ó
3.6.8 Cache Block Replacement Selection
Both the instruction and data cache use a pseudo least-recently-used (PLRU) replacement
algorithm when a new block needs to be placed in the cache. Note that data cache
replacement selection is performed at reload time, not when a miss occurs. Instruction
cache replacement selection occurs when an instruction cache miss is Trst recognized. This
is fundamentally different from the data cache in that the replacement target is selected
upon miss and not upon reload.
Each cache is organized as eight blocks (ways) per set by 128 sets. There is a valid bit for
each way in the cache, L[0D7]. The replacement logic Trst checks to see if there are any
invalid ways in the set and chooses the lowest-order, invalid block (L[0D7]) as the
replacement target. When all eight ways in the set are valid, the PLRU algorithm is used to
select the replacement target. There are seven PLRU bits, B[0D6] for each set in the cache.