Chapter 2. Programming Model
2-51
Instruction Set Summary
Implementation Note
sThe following notes describe the MPC7400 implementation of
integer load instructions:
¥
The PowerPC architecture cautions programmers that some implementations of the
architecture can execute the load half algebraic (
lha
,
lhax
) instructions with greater
latency than other types of load instructions. This is not the case for the MPC7400;
these instructions operate with the same latency as other load instructions.
The PowerPC architecture cautions programmers that some implementations of the
architecture can run the load/store byte-reverse (
lhbrx
,
lbrx
,
sthbrx
,
stwbrx
)
instructions with greater latency than other types of load/store instructions. This is
not the case for the MPC7400. These instructions operate with the same latency as
the other load/store instructions.
The PowerPC architecture describes some preferred instruction forms for load and
store multiple instructions and integer move assist instructions that can perform
better than other forms in some implementations. None of these preferred forms
affect instruction performance on the MPC7400.
The PowerPC architecture deTnes the
lwarx
and
stwcx.
as a way to update memory
atomically. In the MPC7400, reservations are made on behalf of aligned 32-byte
sections of the memory address space. Executing
lwarx
and
stwcx.
to a page marked
write-through does cause a DSI exception if the page is marked cacheable
write-through (WIM = 10x), but as with other memory accesses, DSI exceptions can
result for other reasons such as a protection violations or page faults.
¥
¥
¥
Table 2-30 summarizes the integer load instructions.
Table 2-30. Integer Load Instructions
Name
Mnemonic
Syntax
Load Byte and Zero
lbz
r
D
,d
(
r
A
)
Load Byte and Zero Indexed
lbzx
r
D
,r
A
,r
B
Load Byte and Zero with Update
lbzu
r
D
,d
(
r
A
)
Load Byte and Zero with Update Indexed
lbzux
r
D
,r
A
,r
B
Load Half Word and Zero
lhz
r
D
,d
(
r
A
)
Load Half Word and Zero Indexed
lhzx
r
D
,r
A
,r
B
Load Half Word and Zero with Update
lhzu
r
D
,d
(
r
A
)
Load Half Word and Zero with Update Indexed
lhzux
r
D
,r
A
,r
B
Load Half Word Algebraic
lha
r
D
,d
(
r
A
)
Load Half Word Algebraic Indexed
lhax
r
D
,r
A
,r
B
Load Half Word Algebraic with Update
lhau
r
D
,d
(
r
A
)
Load Half Word Algebraic with Update Indexed
lhaux
r
D
,r
A
,r
B
Load Word and Zero
lwz
r
D
,d
(
r
A
)
Load Word and Zero Indexed
lwzx
r
D
,r
A
,r
B