
3-22
PowerPC Microprocessor Family: The Bus Interface for 32-Bit Microprocessors
3.3.2 Data Bus Write Only
Because of address pipelining, a processor can queue up to three (two for the 601 and 603)
data tenures to perform when it receives a qualified DBG. Generally, data tenures should
be performed in the order their address tenures were performed. However, the processor
supports a limited out-of-order capability with the data bus write only (DBWO) input.
Using DBWO can avoid deadlocks that can occur in certain system designs. When
recognized on the clock of a qualified DBG, DBWO can direct the processor to perform the
next pending data write tenure even if a pending read tenure normally would have been
performed first. See Section 2.6.2, “Data Bus Write Only (DBWO)—Input.”
The processor always accepts data bus mastership to perform a pending data tenure when
it recognizes a qualified DBG. If DBWO is asserted with a qualified DBG and no write
tenure is queued, the 603 and 604 still take mastership of the data bus to perform the next
pending read data tenure. If the processor has multiple queued writes, asserting DBWO
reorders the write operation whose address was sent first.
Generally, DBWO should be used only to allow a copy-back operation (burst write) to
occur before a pending read operation. If DBWO is used for single-beat write operations,
it may negate the effect of the
eieio
instruction by allowing a write operation to precede a
program-scheduled read operation.
3.3.3 Data Transfer
Data transfer signals include DH[0–31], DL[0–31], DP[0–7], and DPE. The DH and DL
signals form a 64-bit data path for read and write operations. The processor transfers data
in either single- or four-beat burst transfers (eight-beat when the 603 is in 32-bit bus mode).
Single-beat operations transfer from one to eight bytes within a double word at a time and
can be misaligned; see Section 3.2.2.4, “Effect of Alignment in Data Transfers.” Burst
operations always transfer eight words and are aligned on eight-word address boundaries.
Burst transfers give significantly higher bus throughput than single-beat transfers.
The type of transaction initiated by the processor depends on whether the code or data is
cacheable and, for store operations, whether the memory accessed is marked write-back or
write-through mode. Software controls this mode on a page or block basis. Burst transfers
support cacheable operations only; that is, memory structures must be marked as cacheable
(and write-back for data store operations) in the respective page or block descriptor to take
advantage of burst transfers.
The processor output TBST indicates to the system whether the current transaction is a
single-beat or a burst transfer (except during
eciwx
/
ecowx
transactions, when it signals the
state of EAR[28]). A burst transfer has an assumed address order. For load or store
operations that miss the cache and are marked cacheable (stores are also marked as
write-back) in the MMU, the processor uses the double-word–aligned (quad-word–aligned
for the 601) address associated with the critical code or data that initiated the transaction.