
5-30
G2 PowerPC Core Reference Manual
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
Exception Definitions
depending on the type of operation, the boundaries crossed, and the mode that the processor
is in during execution. More specifically, these operations may either cause an alignment
exception or they may cause the processor to break the memory access into multiple,
smaller accesses with respect to the cache and the memory subsystem.
The G2 core can initiate an alignment exception for the access shown in Table 5-17. In this
case, the appropriate range check is performed before the instruction begins execution. As
a result, if an alignment exception is taken, it is guaranteed that no portion of the instruction
has been executed.
A page-address translation access occurs when MSR[DR] is set, SR[T] is cleared, and there
is not a match in the BAT. Note the following points:
The following is true for all loads and stores except strings/multiples:
— Byte operands never cause an alignment exception
— Half-word operands can cause an alignment exception if the EA ends in 0xFFF
— Word operands can cause an alignment exception if the EA ends in 0xFFD–FFF
— Double-word operands cause an alignment exception if the EA ends in
0xFF9–FFF
The
dcbz
instruction causes an alignment exception if the access is to a page or
block with the W (write-through) or I (cache-inhibit) bit set in the TLB or BAT,
respectively.
A misaligned memory access that does not cause an alignment exception will not perform
as well as an aligned access of the same type. The resulting performance degradation due
to misaligned accesses depends on how well each individual access behaves with respect
to the memory hierarchy. At a minimum, additional cache access cycles are required that
can delay other processor resources from using the cache. More dramatically, for an access
to a noncacheable page, each discrete access involves individual processor bus operations
that reduce the effective bandwidth of that bus.
Finally, note that when the G2 core is in page address translation mode, there is no special
handling for accesses that fall into BAT regions.
5.5.6.2
Load/Store Multiple Alignment Exceptions
Most alignment exceptions store the address as computed by the instruction in the DAR.
However, when the operand of an
lmw
,
stmw
,
lwarx
, or
stwcx.
instruction is not
word-aligned that address value + 4 is stored into the DAR.
Table 5-17. Access Types
MSR[DR]
SR[T]
Access Type
1
0
Page-address translation access
F
Freescale Semiconductor, Inc.
n
.