IBM powerpc 750gx 사용자 설명서

다운로드
페이지 377
 
User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
gx_02.fm.(1.2)
March 27, 2006 
 
Programming Model
Page 103 of 377
Integer Load-and-Store String Instructions
The integer load-and-store string instructions allow movement of data from memory to registers, or from 
registers to memory, without concern for alignment. These instructions can be used for a short move between 
arbitrary memory locations or to initiate a long move between misaligned memory fields. However, 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. 
Table 2-20 summarizes the integer load-and-store string instructions. In other PowerPC implementations 
operating with little-endian byte order, execution of a load or string instruction invokes the alignment error 
handler. See “Byte Ordering” in the PowerPC Microprocessor Family: The Programming Environments Man-
ual
 for more information. 
Load string and store string instructions might involve operands that are not word-aligned. 
As described in Section 4.5.6 on page 170, a misaligned string operation suffers a performance penalty 
compared to an aligned operation of the same type. 
A non-word-aligned string operation that crosses a 4-KB boundary, or a word-aligned string operation that 
crosses a 256-MB boundary, always causes an alignment exception. A non-word-aligned string operation 
that crosses a double-word boundary is also slower than a word-aligned string operation.
Implementation Notes: The following describes the 750GX implementation of load/store string instructions:
• For load/store string operations, the hardware does not combine register values to reduce the number of 
discrete accesses. However, if store gathering is enabled and the accesses fall under the criteria for store 
gathering, the stores can be combined to enhance performance. At a minimum, additional cache access 
cycles are required.
• The 750GX supports misaligned, single-register load-and-store accesses in little-endian mode without 
causing an alignment exception. However, execution of misaligned load/store multiple/string operations 
causes an alignment exception.
Floating-Point Load-and-Store Address Generation
Floating-point load-and-store operations generate effective addresses using the register indirect with imme-
diate index addressing mode and register indirect with index addressing mode. Floating-point loads and 
stores are not supported for direct-store accesses. The use of floating-point loads and stores for direct-store 
access results in an alignment exception.
Implementation Notes: The 750GX treats exceptions as follows: 
• The FPU can be run in two different modes—ignore-exceptions mode (MSR[FE0] = MSR[FE1] = 0) and 
precise-exception mode (any other settings for MSR[FE0,FE1]). For the 750GX, ignore-exceptions mode 
allows floating-point instructions to complete earlier and, thus, might provide better performance than pre-
cise mode.
Table 2-22. Integer Load-and-Store String Instructions 
Name
Mnemonic
Syntax
Load String Word Immediate
lswi
rD,rA,NB
Load String Word Indexed
lswx
rD,rA,rB
Store String Word Immediate
stswi
rS,rA,NB
Store String Word Indexed
stswx
rS,rA,rB