Chapter 12
352 MIPS R4000 Microprocessor User's Manual
External Snoop Request Protocol
External snoop requests use a protocol identical to the external read
request protocol, except that, instead of returning data, the processor
responds with an indication of the current cache state for the targeted
cache line. This protocol is described by the following steps:
1. The external agent asserts ExtRqst* to arbitrate for the System
interface.
2. The processor releases the System interface to slave state by asserting
Release*.
3. The external snoop request is driven onto the SysCmd bus and the
address onto the SysAD bus. ValidIn* is asserted for one cycle.
4. The processor drives a coherent data identifier on the SysCmd bus
and asserts ValidOut* for one cycle.
5. The SysAD bus is unused during the snoop response.
6. The processor continues driving the SysCmd and SysAD buses after
the snoop response is returned, to move the System interface back to
master state.
Note that if the cache line that is the target of the snoop request is not
present in the cache—that is, a tag comparison for the cache line at the
target cache address fails—the cache line that is the target of the snoop
request is considered to be in the invalid state.
Figure 12-36 shows an external snoop request submitted with the System
interface in the master state. Figure 12-37 shows an external snoop request
submitted with the System interface in slave state.
NOTE: Timings for the SysADC and SysCmdP buses are the same as
those of the SysAD and SysCmd buses, respectively.