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 />

mats can be specified by the parameters listed in<br />

Figure 48.<br />

Format<br />

Single Double<br />

Exponent Bias +127 +1023<br />

Maximum Exponent +127 +1023<br />

Minimum Exponent -126 -1022<br />

Widths (bits)<br />

Format 32 64<br />

Sign 1 1<br />

Exponent 8 11<br />

Fraction 23 52<br />

Significand 24 53<br />

Figure 48. IEEE floating-point fields<br />

The architecture requires that the FPRs of the Floating-Point<br />

Processor support the floating-point double<br />

format only.<br />

4.3.2 Value Representation<br />

This architecture defines numeric and non-numeric values<br />

representable within each of the two supported formats.<br />

The numeric values are approximations to the<br />

real numbers and include the normalized numbers,<br />

denormalized numbers, and zero values. The<br />

non-numeric values representable are the infinities and<br />

the Not a Numbers (NaNs). The infinities are adjoined<br />

to the real numbers, but are not numbers themselves,<br />

and the standard rules of arithmetic do not hold when<br />

they are used in an operation. They are related to the<br />

real numbers by order alone. It is possible however to<br />

define restricted operations among numbers and infinities<br />

as defined below. The relative location on the real<br />

number line for each of the defined entities is shown in<br />

Figure 49.<br />

-INF<br />

-NOR<br />

-DEN -0 +0 +DEN<br />

+NOR<br />

+INF<br />

Figure 49. Approximation to real numbers<br />

The NaNs are not related to the numeric values or infinities<br />

by order or value but are encodings used to convey<br />

diagnostic information such as the representation<br />

of uninitialized variables.<br />

The following is a description of the different floating-point<br />

values defined in the architecture:<br />

Binary floating-point numbers<br />

Machine representable values used as approximations<br />

to real numbers. Three categories of numbers are supported:<br />

normalized numbers, denormalized numbers,<br />

and zero values.<br />

Normalized numbers (± NOR)<br />

These are values that have a biased exponent value in<br />

the range:<br />

1 to 254 in single format<br />

1 to 2046 in double format<br />

They are values in which the implied unit bit is 1. Normalized<br />

numbers are interpreted as follows:<br />

NOR = (-1) s x 2 E x (1.fraction)<br />

where s is the sign, E is the unbiased exponent, and<br />

1.fraction is the significand, which is composed of a<br />

leading unit bit (implied bit) and a fraction part.<br />

The ranges covered by the magnitude (M) of a normalized<br />

floating-point number are approximately equal to:<br />

Single Format:<br />

1.2x10 -38 ≤ M ≤ 3.4x10 38<br />

Double Format:<br />

2.2x10 -308 ≤ M ≤ 1.8x10 308<br />

Zero values (± 0)<br />

These are values that have a biased exponent value of<br />

zero and a fraction value of zero. Zeros can have a<br />

positive or negative sign. The sign of zero is ignored by<br />

comparison operations (i.e., comparison regards +0 as<br />

equal to -0).<br />

Denormalized numbers (± DEN)<br />

These are values that have a biased exponent value of<br />

zero and a nonzero fraction value. They are nonzero<br />

numbers smaller in magnitude than the representable<br />

normalized numbers. They are values in which the<br />

implied unit bit is 0. Denormalized numbers are interpreted<br />

as follows:<br />

DEN = (-1) s x 2 Emin x (0.fraction)<br />

where Emin is the minimum representable exponent<br />

value (-126 for single-precision, -1022 for double-precision).<br />

Infinities (± ∞)<br />

These are values that have the maximum biased exponent<br />

value:<br />

255 in single format<br />

2047 in double format<br />

and a zero fraction value. They are used to approximate<br />

values greater in magnitude than the maximum<br />

normalized value.<br />

Infinity arithmetic is defined as the limiting case of real<br />

arithmetic, with restricted operations defined among<br />

numbers and infinities. Infinities and the real numbers<br />

can be related by ordering in the affine sense:<br />

- ∞ < every finite number < + ∞<br />

Arithmetic on infinities is always exact and does not<br />

signal any exception, except when an exception occurs<br />

94<br />

<strong>Power</strong> ISA -- Book I

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

Saved successfully!

Ooh no, something went wrong!