Chapter 9. System Interface Operation
9-21
60x Address Bus Tenure
example, a half-word read from an odd byte-aligned address). An attempt to address data
that crosses a double-word boundary requires two bus transfers to access the data.
Due to the performance degradations, misaligned memory operations should be avoided. In
addition to the double-word straddle boundary condition, the 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 data where possible.
9.3.2.4.2 Alignment of External Control Instructions
The size of the data transfer associated with
eciwx
and
ecowx
instructions is always four
bytes. If an operand for an
eciwx
or
ecowx
instruction is misaligned and crosses any word
boundary, the MPC7400 generates an alignment exception.
9.3.3 Address Transfer Termination
The address tenure of a bus operation is terminated when completed with the assertion of
AACK (address acknowledge), or retried with the assertion of ARTRY (address retry). The
MPC7400 does not terminate the address transfer until the AACK input is asserted;
therefore, the system can extend the address transfer phase by delaying the assertion of
AACK to the MPC7400. The assertion of AACK can be as early as the bus clock cycle
following TS (see Figure 9-7), which allows a minimum address tenure of two bus cycles.
Table 9-5. Misaligned Data Transfers (Four-Byte Examples)
Transfer Size
(Four Bytes)
TSIZ[0:2]
A[29:31]
Data Bus Byte Lanes
1
1
A Byte lane used
Byte lane not used
0
1
2
3
4
5
6
7
Aligned
1 0 0
0 0 0
A
A
A
A
Misaligned
1 0 0
0 0 1
A
A
A
A
Misaligned
1 0 0
0 1 0
A
A
A
A
Misaligned
1 0 0
0 1 1
A
A
A
A
Aligned
1 0 0
1 0 0
A
A
A
A
MisalignedTrst access
second access
0 1 1
1 0 1
A
A
A
0 0 1
0 0 0
A
MisalignedTrst access
second access
0 1 0
1 1 0
A
A
0 1 0
0 0 0
A
A
MisalignedTrst access
second access
0 0 1
1 1 1
A
0 0 1
1 1 1
A