MOTOROLA
Chapter 4. Processor Bus Interface
4-15
The MPC106 supports misaligned memory operations, although their use may
substantially degrade performance. Misaligned memory transfers address memory that is
not aligned to the size of the data being transferred (such as, a word read from an odd byte
address). The MPC106’s processor bus interface supports misaligned transfers within a
word (32-bit aligned) boundary, as shown in Table 4-6. Note that the 4-byte transfer in
Table 4-6 is only one example of misalignment. As long as the attempted transfer does not
cross a word boundary, the MPC106 can transfer the data to the misaligned address within
a single bus transfer (for example, a half-word read from an odd byte-aligned address). An
attempt to address data that crosses a word boundary requires two bus transfers to access
the data.
Due to the performance degradations associated with misaligned memory operations, they
should be avoided. In addition to the double-word straddle boundary condition, the
processor’s address translation logic can generate substantial exception overhead when the
load/store multiple and load/store string instructions access misaligned data. It is strongly
recommended that software attempt to align code and data where possible.
Half word
0
1
0
000
√
√
—
—
—
—
—
—
0
1
0
010
—
—
√
√
—
—
—
—
0
1
0
100
—
—
—
—
√
√
—
—
0
1
0
110
—
—
—
—
—
—
√
√
Word
1
0
0
000
√
√
√
√
—
—
—
—
1
0
0
100
—
—
—
—
√
√
√
√
Double word
0
0
0
000
√
√
√
√
√
√
√
√
Notes
:
√
These entries indicate the byte portions of the requested operand that are read or written during that
bus transaction.
— These entries are not required and are ignored during read transactions; they are driven with unde-
fined data during all write transactions.
Data bus byte lane 0 corresponds to DH[0–7], byte lane 7 corresponds to DL[24–31].
Table 4-5. Aligned Data Transfers (Continued)
Transfer Size
TSIZ0
TSIZ1
TSIZ2
A[29–31]
Data Bus Byte Lane(s)
0
1
2
3
4
5
6
7