User`s guide

The XMI
2.5.2 Read Transaction
Read (READ) transactions (see Figure 2–12) are used to transfer a
longword, quadword, octaword, or hexword of data from the responder
to the commander. The data is naturally aligned and delivered in
wraparound order. Wraparound reads are described in Section 2.1.5. A
Read transaction is initiated by a commander driving the XMI address and
function lines to represent a longword read, quadword read, octaword read,
or hexword read. The Read command cycle is decoded by all responder
nodes. The node that recognizes its own address latches that address and
command. This node is the responder.
Figure 2–12 Read Command
6
3
6
0
5
9
5
8
5
7
4
8
4
7
3
2
3
1
3
0
2
90
DON’T CARE ADDRESS<29:0>
LENGTH 00 = Hexword
01 = Longword
10 = Quadword
11 = Octaword
msb−p185−89
0001 MBZ
ADDRESS<39:30>
READ COMMAND
When the responder has the requested data, it initiates a return
data transfer. Multiple transfers may be necessary to transfer all the
quadwords in a given octaword or hexword transaction. The commander
monitors the bus traffic waiting for its return data, and then latches the
information. The commander issues its own ID in the ID field during the
command cycle. The responder returns this same ID with the return read
data so that the commander can recognize the return read data it had
requested.
Longword-length transactions can only be used in I/O space while
quadword-, octaword-, and hexword-length transactions can only be used
in memory space. The state of the memory block is transparent to the
commander. The memory controller treats Read commands differently
depending upon whether the memory block is free or owned. If free, the
address is accessed and data is returned with the appropriate GRD, CRD,
or RER response. If the block is owned, the memory controller stores the
command/address field in a deferred queue and waits until the owner of
the blocks disown-writes the data back to memory. As soon as the memory
block becomes disowned, the memory controller executes the deferred Read
command and returns the data with the appropriate response.
2–34