
MOTOROLA
Chapter 3. Instruction and Data Cache Operation
3-15
corresponding page table entry (and TLB entry) can be set due to an out-of-order load
operation. See Chapter 4, “Exceptions,” for more information on the machine check
exception.
Instruction fetching from guarded memory is not permitted.
3.6 Cache Coherency—MEI Protocol
The primary objective of a coherent memory system is to provide the same image of
memory to all devices using the system. Coherency allows synchronization and cooperative
use of shared resources. Otherwise, multiple copies of a memory location, some containing
stale values, could exist in a system resulting in errors when the stale values are used. Each
potential bus master must follow rules for managing the state of its cache.
The 603e cache coherency protocol is a coherent subset of the standard MESI four-state
cache protocol that omits the shared state. Since data cannot be shared, the 603e signals all
cache block fills as if they were write misses (read-with-intent-to-modify), which flushes
the corresponding copies of the data in all caches external to the 603e prior to the 603e’s
cache block fill operation. Following the cache block load, the 603e is the exclusive owner
of the data and may write to it without a bus broadcast transaction.
To maintain this coherency, all global reads observed on the bus by the 603e are snooped
as if they were writes, causing the 603e to write a modified cache block back to memory
and invalidate the cache block, or simply invalidate the cache block if it is unmodified. The
exception to this rule occurs when a snooped transaction is a caching-inhibited read (either
burst or single-beat, where TT[0–4] = X1010; see Table 7-1 for clarification), in which case
the 603e does not invalidate the snooped cache block. If the cache block is modified, the
block is written back to memory, and the cache block is marked exclusive unmodified. If
the cache block is marked exclusive unmodified when snooped, no bus action is taken, and
the cache block remains in the exclusive unmodified state. This treatment of caching-
inhibited reads decreases the possibility of data thrashing by allowing noncaching devices
to read data without invalidating the entry from the 603e’s data cache.
3.6.1 MEI State Definitions
The 603e’s data cache characterizes each 32-byte block it contains as being in one of three
MEI states. Addresses presented to the cache are indexed into the cache directory with bits
A20–A26, and the upper-order 20 bits from the physical address translation (PA0–PA19)
are compared against the indexed cache directory tags. If neither of the indexed tags
matches, the result is a cache miss. If a tag matches, a cache hit occurred and the directory
indicates the state of the cache block through two state bits kept with the tag. The three
possible states for a cache block in the cache are the modified state (M), the exclusive state
(E), and the invalid state (I). The three MEI states are defined in Table 3-2.