
3-8
MPC603e & EC603e RISC Microprocessors User's Manual
MOTOROLA
3.3 Basic Data Cache Operations
This section describes the three types of operations that can occur to the data cache, and
how these operations are implemented in the 603e.
3.3.1 Data Cache Fill
A cache block is filled after a read miss or write miss (read-with-intent-to-modify) occurs
in the cache. The cache block that corresponds to the missed address is updated by a burst
transfer of the data from system memory. Note that if a read miss occurs in a system with
multiple bus masters, and the data is modified in another cache, the modified data is first
written to external memory before the cache fill occurs.
3.3.2 Data Cache Cast-Out Operation
The 603e uses an LRU replacement algorithm to determine which of the four possible
cache locations should be used for a cache update on a cache miss. Adding a new block to
the cache causes any modified data associated with the least recently used element to be
written back, or cast out, to system memory to maintain memory coherence.
3.3.3 Cache Block Push Operation
When a cache block in the 603e is snooped and hit by another bus master and the data is
modified, 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 bus. The 603e supports
two kinds of push operations—normal push operations and enveloped high-priority push
operations, which are described in Section 3.6.9, “Enveloped High-Priority Cache Block
Push Operation.”
3.4 Data Cache Transactions on Bus
The 603e transfers data to and from the data cache in single-beat transactions of two words,
or in four-beat transactions of eight words which fill a cache block.
3.4.1 Single-Beat Transactions
Single-beat bus transactions can transfer from one to eight bytes to or from the 603e.
Single-beat transactions can be caused by cache write-through accesses, caching-inhibited
accesses (I bit of the WIMG bits for the page is set), or accesses when the cache is disabled
(HID0[DCE] bit is cleared), and can be misaligned.
3.4.2 Burst Transactions
Burst transactions on the 603e always transfer eight words of data at a time, and are aligned
to a double-word boundary. The 603e transfer burst (TBST) output signal indicates to the
system whether the current transaction is a single-beat transaction or four-beat burst
transfer. Burst transactions have an assumed address order. For cacheable read operations