IBM powerpc 750gx Manuel D’Utilisation

Page de 377
 
User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
Programming Model
Page 106 of 377
gx_02.fm.(1.2)
March 27, 2006
Architecturally, all single-precision and double-precision floating-point numbers are represented in double-
precision format within the 750GX. Execution of a store floating-point single (stfsstfsustfsxstfsux
instruction requires conversion from double to single-precision format. If the exponent is not greater than 896, 
this conversion requires denormalization. The 750GX supports this denormalization by shifting the mantissa 
one bit at a time. Anywhere from 1 to 23 clock cycles are required to complete the denormalization, 
depending upon the value to be stored.
Because of how floating-point numbers are implemented in the 750GX, there is also a case when execution 
of a store floating-point double (stfdstfdustfdxstfdux) instruction can require internal shifting of the 
mantissa. This case occurs when the operand of a store floating-point double instruction is a denormalized 
single-precision value. The value could be the result of a load floating-point single instruction, a single-preci-
sion arithmetic instruction, or a floating round to single-precision instruction. In these cases, shifting the 
mantissa takes from 1 to 23 clock cycles, depending upon the value to be stored. These cycles are incurred 
during the store. 
2.3.4.4 Branch and Flow-Control Instructions 
Some branch instructions can redirect instruction execution conditionally based on the value of bits in the CR. 
When the processor encounters one of these instructions, it scans the execution pipelines to determine 
whether an instruction in progress can affect the particular CR bit. If no interlock is found, the branch can be 
resolved immediately by checking the bit in the CR and taking the action defined for the branch instruction.
Branch Instruction Address Calculation 
Branch instructions can alter the sequence of instruction execution. Instruction addresses are always 
assumed to be word aligned; the PowerPC processors ignore the two low-order bits of the generated branch 
target address. Branch instructions compute the EA of the next instruction address using the following 
addressing modes: 
• Branch relative 
• Branch conditional to relative address 
• Branch to absolute address 
• Branch conditional to absolute address 
• Branch conditional to link register 
• Branch conditional to count register 
Note:  In the 750GX, all branch instructions (b, ba, bl, bla, bc, bca, bcl, bcla, bclr, bclrl, bcctr, bcctrl) and 
condition register logical instructions (crand, cror, crxor, crnand, crnor, crandc, creqv, crorc, and mcrf
are executed by the branch processing unit (BPU). Some of these instructions can redirect instruction execu-
tion conditionally based on the value of bits in the CR. Whenever the CR bits resolve, the branch direction is 
either marked as correct or mispredicted. Correcting a mispredicted branch requires that the 750GX flush 
Single
SNaN
Store
Double
Normalized
Store
Double
Denormalized
Store
Double
Zero, infinity, QNaN
Store
Double
SNaN
Store
Table 2-26. Store Floating-Point Double Behavior 
 (Page 2 of 2)
FPR Precision
Data Type
Action