
MOTOROLA
Chapter 3. Instruction Set Model
3-3
Operand Conventions
The concept of alignment is also applied more generally to data in memory. For example,
a 12-byte data item is said to be word-aligned if its address is a multiple of four.
Implementation Notes
—The following describes how the G2 core handles alignment and
misaligned accesses:
The G2 core provides hardware support for some misaligned memory accesses.
However, misaligned accesses suffer a performance degradation compared to
aligned accesses of the same type.
The G2 core does not provide hardware support for floating-point load/store
operations that are not word-aligned. In such a case, the core invokes an alignment
exception and the exception handler must break up the misaligned access. For this
reason, floating-point single- and double-word accesses should always be
word-aligned. Note that a floating-point double-word access on a word-aligned
boundary requires an extra cycle to complete.
Any half-word, word, double-word, and string reference access that crosses an alignment
boundary must be broken into multiple discrete accesses. For string accesses, the hardware
makes no attempt to get aligned to reduce the number of accesses. (Multiple word accesses
are architecturally required to be aligned.) The resulting performance degradation depends
on how well each individual access behaves with respect to the memory hierarchy. At a
minimum, additional cache access cycles are required. More dramatically, each discrete
access to a noncacheable page involves an individual bus operation that reduces the
effective bus bandwidth.
The frequent use of misaligned accesses is discouraged because they can compromise the
overall performance.
3.1.4
Floating-Point Execution Model
The G2 core provides hardware support for all single- and double-precision floating-point
operations for most value representations and all rounding modes. The PowerPC
Table 3-2. Memory Operands
Operand
Length
Addr[28–31]
If Aligned
Byte
8 bits
xxxx
Half word
2 bytes
xxx0
Word
4 bytes
xx00
Double word
8 bytes
x000
Quad word
16 bytes
0000
Note:
An x in an address bit position indicates
that the bit can be 0 or 1 independent of the state
of other address bits.
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.