
3-10
PowerPC Microprocessor Family: The Bus Interface for 32-Bit Microprocessors
3.2.2.3 Burst Ordering during Data Transfers
During burst data transfer operations for these processors, 32 bytes of data (one cache
block) are transferred to or from the processor cache in a specific order. Burst transfers are
always presented by the processor with a double-word–aligned address (in other words
A[29–31] is 0b000). For burst reads, these processors request the critical double word. A
memory controller must transfer this word first, followed by those words in increasing
memory addresses, and wrapping around to the beginning of the cache block as required.
Table 3-2 describes burst read orderings. For burst writes, processors present the first
address of the block (A[27–31] is 0b00000).
3.2.2.4 Effect of Alignment in Data Transfers
This section describes the various combinations of transfer size, address, and byte lanes
used by these processors. Also shown is the difference in behavior of PowerPC processors
with an 8-byte data bus and the 603 with a 4-byte data bus mode. Aligned transfers are those
whose address is an integer multiple of the data’s size. For example, a 4-byte transfer has
an address of 0bx...xx00. The PowerPC architecture allows flexibility to handle alignment
errors either in hardware or software (a program exception). See the user’s manual for each
processor. Table 3-3
lists aligned transfers (shown by an A) generated by a PowerPC
processor with a 64-bit data bus. For example, 1-byte data is always aligned. The table also
shows byte lanes used for a 4-byte word transfer, and that only two addresses are aligned.
Table 3-2. Processor Read Burst Ordering
Data Transfer
Processor Starting Address:
A[27–28] = 00
A[27–28] = 01
A[27–28] = 10
A[27–28] = 11
First data beat
DW0
DW1
DW2
DW3
Second data beat
DW1
DW2
DW3
DW0
Third data beat
DW2
DW3
DW0
DW1
Fourth data beat
DW3
DW0
DW1
DW2
Note:
A[29–31] are always 0b000 for burst transfers by the processor.