
MC68336/376
SYSTEM INTEGRATION MODULE
MOTOROLA
USER’S MANUAL
Rev. 15 Oct 2000
5-24
Figure 5-9 Operand Byte Order
5.5.3 Operand Alignment
The EBI data multiplexer establishes the necessary connections for different combina-
tions of address and data sizes. The multiplexer takes the two bytes of the 16-bit bus
and routes them to their required positions. Positioning of bytes is determined by the
size and address outputs. SIZ1 and SIZ0 indicate the number of bytes remaining to be
transferred during the current bus cycle. The number of bytes transferred is equal to
or less than the size indicated by SIZ1 and SIZ0, depending on port width.
ADDR0 also affects the operation of the data multiplexer. During an operand transfer,
ADDR[23:1] indicate the word base address of the portion of the operand to be
accessed. ADDR0 indicates the byte offset from the base.
5.5.4 Misaligned Operands
The CPU32 uses a basic operand size of 16 bits. An operand is misaligned when it
overlaps a word boundary. This is determined by the value of ADDR0. When ADDR0
= 0 (an even address), the address is on a word and byte boundary. When ADDR0 =
1 (an odd address), the address is on a byte boundary only. A byte operand is aligned
at any address; a word or long-word operand is misaligned at an odd address. The
CPU32 does not support misaligned transfers.
The largest amount of data that can be transferred by a single bus cycle is an aligned
word. If the MCU transfers a long-word operand through a 16-bit port, the most signif-
icant operand word is transferred on the first bus cycle and the least significant
operand word is transferred on a following bus cycle.
5.5.5 Operand Transfer Cases
Table 5-12 is a summary of how operands are aligned for various types of transfers.
OPn entries are portions of a requested operand that are read or written during a bus
cycle and are defined by SIZ1, SIZ0, and ADDR0 for that bus cycle. The following
paragraphs discuss all the allowable transfer cases in detail.
OP0
OPERAND BYTE ORDER
OP1
OP2
OP3
24
31
23
16 15
8 7
0
BYTE ORDER
OPERAND
LONG WORD
THREE BYTE
WORD
BYTE
OP2
OP1
OP0
OP1
OP0