14.06.2015 Views

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Version</strong> <strong>2.03</strong><br />

59 Floating-Point Zero Divide Exception<br />

Enable (ZE)<br />

See Section 4.4.2, “Zero Divide Exception” on<br />

page 101.<br />

60 Floating-Point Inexact Exception Enable<br />

(XE)<br />

See Section 4.4.5, “Inexact Exception” on<br />

page 103.<br />

61 Floating-Point Non-IEEE Mode (NI)<br />

Floating-point non-IEEE mode is optional. If<br />

floating-point non-IEEE mode is not implemented,<br />

this bit is treated as reserved, and the<br />

remainder of the definition of this bit does not<br />

apply.<br />

If floating-point non-IEEE mode is implemented,<br />

this bit has the following meaning.<br />

0 The processor is not in floating-point<br />

non-IEEE mode (i.e., all floating-point<br />

operations conform to the IEEE standard).<br />

1 The processor is in floating-point<br />

non-IEEE mode.<br />

When the processor is in floating-point<br />

non-IEEE mode, the remaining FPSCR bits<br />

may have meanings different from those given<br />

in this document, and floating-point operations<br />

need not conform to the IEEE standard. The<br />

effects of executing a given floating-point<br />

instruction with FPSCR NI =1, and any additional<br />

requirements for using non-IEEE mode,<br />

are implementation-dependent. The results of<br />

executing a given instruction in non-IEEE<br />

mode may vary between implementations,<br />

and between different executions on the same<br />

implementation.<br />

Programming Note<br />

When the processor is in floating-point<br />

non-IEEE mode, the results of floating-point<br />

operations may be approximate,<br />

and performance for these operations<br />

may be better, more predictable, or less<br />

data-dependent than when the processor<br />

is not in non-IEEE mode. For example, in<br />

non-IEEE mode an implementation may<br />

return 0 instead of a denormalized number,<br />

and may return a large number<br />

instead of an infinity.<br />

62:63 Floating-Point Rounding Control (RN) See<br />

Section 4.3.6, “Rounding” on page 97.<br />

00 Round to Nearest<br />

01 Round toward Zero<br />

10 Round toward +Infinity<br />

11 Round toward -Infinity<br />

Result<br />

Flags<br />

Result Value Class<br />

C < > = ?<br />

1 0 0 0 1 Quiet NaN<br />

0 1 0 0 1 - Infinity<br />

0 1 0 0 0 - Normalized Number<br />

1 1 0 0 0 - Denormalized Number<br />

1 0 0 1 0 - Zero<br />

0 0 0 1 0 + Zero<br />

1 0 1 0 0 + Denormalized Number<br />

0 0 1 0 0 + Normalized Number<br />

0 0 1 0 1 + Infinity<br />

Figure 45. Floating-Point Result Flags<br />

4.3 Floating-Point Data<br />

4.3.1 Data Format<br />

This architecture defines the representation of a floating-point<br />

value in two different binary fixed-length formats.<br />

The format may be a 32-bit single format for a<br />

single-precision value or a 64-bit double format for a<br />

double-precision value. The single format may be used<br />

for data in storage. The double format may be used for<br />

data in storage and for data in floating-point registers.<br />

The lengths of the exponent and the fraction fields differ<br />

between these two formats. The structure of the single<br />

and double formats is shown below.<br />

S EXP FRACTION<br />

32 33 41 63<br />

Figure 46. Floating-point single format<br />

S EXP FRACTION<br />

0 1 12 63<br />

Figure 47. Floating-point double format<br />

Values in floating-point format are composed of three<br />

fields:<br />

S<br />

sign bit<br />

EXP exponent+bias<br />

FRACTION fraction<br />

Representation of numeric values in the floating-point<br />

formats consists of a sign bit (S), a biased exponent<br />

(EXP), and the fraction portion (FRACTION) of the significand.<br />

The significand consists of a leading implied<br />

bit concatenated on the right with the FRACTION. This<br />

leading implied bit is 1 for normalized numbers and 0<br />

for denormalized numbers and is located in the unit bit<br />

position (i.e., the first bit to the left of the binary point).<br />

Values representable within the two floating-point for-<br />

Chapter 4. Floating-Point Processor [Category: Floating-Point]<br />

93

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!