
MOTOROLA
Chapter 3. Instruction and Data Cache Operation
3-17
3.6.3 MEI Hardware Considerations
While the 603e provides the hardware required to monitor bus traffic for coherency, the
603e data cache tags are single ported, and a simultaneous load or store and snoop access
represent a resource conflict. In general, the snoop access has highest priority and is given
first access to the tags. The load or store access will then occur on the clock following the
snoop. The snoop is not given priority into the tags when the snoop coincides with a tag
write (for example, validation after a cache block load). In these situations, the snoop is
retried and must re-arbitrate before the lookup is possible.
Occasionally, cache snoops cannot be serviced and must be retried. These retries occur if
the cache is busy with a burst read or write when the snoop operation takes place.
Note that it is possible for a snoop to hit a modified cache block that is already in the process
of being written to the copyback buffer for replacement purposes. If this happens, the 603e
retries the snoop, and raises the priority of the cast-out operation to allow it to go to the bus
before the cache block fill.
The global (GBL) signal, asserted as part of the address attribute field during a bus
transaction, enables the snooping hardware of the 603e. Address bus masters assert GBL to
indicate that the current transaction is a global access (that is, an access to memory shared
by more than one device). If GBL is not asserted for the transaction, that transaction is not
snooped by the 603e. Note that the GBL signal is not asserted for instruction fetches, and
that GBL is asserted for all data read or write operations when using direct address
translation. (Note that direct address translation is referred to as the real addressing mode,
not the direct-store segment, in the architecture specification.)
Normally, GBL reflects the M-bit value specified for the memory reference in the
corresponding translation descriptor(s). Care must be taken to minimize the number of
pages marked as global, because the retry protocol enforces coherency and can use
considerable bus bandwidth if much data is shared. Therefore, available bus bandwidth can
decrease as more traffic is marked global.
The 603e snoops a transaction if the transfer start (TS) and GBL signals are asserted
together in the same bus clock (this is a
qualified
snooping condition). No snoop update to
the 603e cache occurs if the snooped transaction is not marked global. Also, because cache
block cast-outs and snoop pushes do not require snooping, the GBL signal is not asserted
for these operations.
When the 603e detects a qualified snoop condition, the address associated with the TS
signal is compared with the cache tags. Snooping finishes if no hit is detected. If, however,
the address hits in the cache, the 603e reacts according to the MEI protocol shown in
Figure 3-4.
To facilitate external monitoring of the internal cache tags, the cache set entry signals
(CSE[0–1]) represent in binary the cache set being replaced on read operations (including
read-with-intent-to-modify operations). The CSE[0–1] signals do not apply for write