MIPS R4000 Microprocessor User's Manual 343
System Interface
External Read Request Protocol
External reads are requests for a word of data from a processor internal
resource, such as a register. External read requests cannot be split; that is,
no other request can occur between the external read request and its read
response.
Figure 12-29 shows a timing diagram of an external read request, which
consists of the following steps:
1. An external agent asserts ExtRqst* to arbitrate for the System
interface.
2. The processor releases the System interface to slave state by asserting
Release* for one cycle and then deasserting Release*.
3. After Release* is deasserted, the SysAD and SysCmd buses are set to
a tri-state for one cycle.
4. The external agent drives a read request command on the SysCmd
bus and a read request address on the SysAD bus and asserts
ValidIn* for one cycle.
5. After the address and command are sent, the external agent releases
the SysCmd and SysAD buses by setting them to tri-state and
allowing the processor to drive them. The processor, having accessed
the data that is the target of the read, returns this data to the external
agent. The processor accomplishes this by driving a data identifier on
the SysCmd bus, the response data on the SysAD bus, and asserting
ValidOut* for one cycle. The data identifier indicates that this is last-
data-cycle response data.
6. The System interface is in master state. The processor continues
driving the SysCmd and SysAD buses after the read response is
returned.
NOTE: Timings for the SysADC and SysCmdP buses are the same as
those of the SysAD and SysCmd buses, respectively.
External read requests are only allowed to read a word of data from the
processor. The processor response to external read requests for any data
element other than a word is undefined.