
2-32
MPC603e & EC603e RISC Microprocessors User's Manual
MOTOROLA
2.3.4.3.6 Integer Load and Store Multiple Instructions
The integer load/store multiple instructions are used to move blocks of data to and from the
GPRs. In some implementations, these instructions are likely to have greater latency and
take longer to execute, perhaps much longer, than a sequence of individual load or store
instructions that produce the same results.
Implementation Notes
—The following describes the 603e implementation of the load/
store multiple instruction:
The load multiple and store multiple instructions may have operands that require
memory accesses crossing a 4-Kbyte page boundary. As a result, these instructions
may be interrupted by a DSI exception associated with the address translation of the
second page. In this case, the 603e performs some or all of the memory references
from the first page, and none of the memory references from the second page before
taking the exception. On return from the DSI exception, the load or store multiple
instruction will re-execute from the beginning. For additional information, refer to
“DSI Exception (0x00300)” in Chapter 6, “Exceptions,” in
The Programming
Environments Manual
.
The PowerPC architecture defines the load multiple word (
lmw
) instruction with
r
A
in the range of registers to be loaded as an invalid form. It defines the load multiple
and store multiple instructions with misaligned operands (that is, the EA is not a
multiple of 4) to cause an alignment exception. The 603e defines the load multiple
word (
lmw
)
instruction with
r
A in the range of registers to be loaded as an invalid
form.
The PowerPC architecture describes some preferred instruction forms for the integer
load and store multiple instructions that may perform better than other forms in
some implementations. None of these preferred forms have an effect on instruction
performance in the 603e.
When the 603e is operating with little-endian byte order, execution of a load or store
multiple instruction causes the system alignment error handler to be invoked; see “Byte
Ordering” in Chapter 3, “Operand Conventions,” in
The Programming Environments
Manual
for more information. Table 2-23 lists the integer load and store multiple
instructions for the 603e.
Table 2-23. Integer Load and Store Multiple Instructions
Name
Mnemonic
Operand Syntax
Load Multiple Word
lmw
r
D
,
d(
r
A)
Store Multiple Word
stmw
r
S
,
d(
r
A)