
3-12
PowerPC Microprocessor Family: The Bus Interface for 32-Bit Microprocessors
Table 3-4 lists aligned transfers that can occur on the bus and are generated by a 603 in
32-bit data bus mode. Note that the two aligned word transfers are always transferred on
byte lanes 0–3 and that a double-word transfer takes two beats.
The processors support misaligned memory operations to varying degrees, however, it is
strongly recommended that software attempt to align code and data where possible. In
particular, load/store multiple and load/store string instructions that generate misaligned
accesses can greatly affect performance. Misaligned memory transfers address memory
that is not aligned to the size of the data being transferred (such as, a word read of an odd
byte address, 0bx...x1). Although most of these operations hit in the primary cache (or
generate burst memory operations if they miss), the processor interface supports misaligned
transfers. There are three approaches for handling these transfers depending upon the
processor and the data bus width.
Table 3-4. Aligned Data Transfers for 32-Bit Data Bus
Transfer
Size
Required Bus
Transfers
TSIZ
[0–2]
A[29–31]
Data Bus Byte Lane(s)
0
1
2
3
4
5
6
7
Byte
One access
0 0 1
000
A
—
—
—
X
X
X
X
One access
0 0 1
001
—
A
—
—
X
X
X
X
One access
0 0 1
010
—
—
A
—
X
X
X
X
One access
0 0 1
011
—
—
—
A
X
X
X
X
One access
0 0 1
100
A
—
—
—
X
X
X
X
One access
0 0 1
101
—
A
—
—
X
X
X
X
One access
0 0 1
110
—
—
A
—
X
X
X
X
One access
0 0 1
111
—
—
—
A
X
X
X
X
Half word
One access
0 1 0
000
A
A
—
—
X
X
X
X
One access
0 1 0
010
—
—
A
A
X
X
X
X
One access
0 1 0
100
A
A
—
—
X
X
X
X
One access
0 1 0
110
—
—
A
A
X
X
X
X
Word
One access
1 0 0
000
A
A
A
A
X
X
X
X
One access
1 0 0
100
A
A
A
A
X
X
X
X
Double word
First access
0 0 0
000
A
A
A
A
X
X
X
X
Second access
0 0 0
000
A
A
A
A
X
X
X
X
Notes
: A: Byte lane used
X: Byte lane not used in 32-bit mode
—: Byte lane not used