MicroBlaze Processor Reference Guide
79
UG081 (v14.7)
Floating Point Unit (FPU)
Floating Point Unit (FPU)
Overview
The MicroBlaze floating point unit is based on the
:
•
Uses IEEE 754 single precision floating point format, including definitions for infinity, not-a-
number (NaN), and zero
•
Supports addition, subtraction, multiplication, division, comparison, conversion and square
root instructions
•
Implements round-to-nearest mode
•
Generates sticky status bits for: underflow, overflow, divide-by-zero and invalid operation
For improved performance, the following non-standard simplifications are made:
•
Denormalized
(1)
operands are not supported. A hardware floating point operation on a
denormalized number returns a quiet NaN and sets the sticky denormalized operand error bit in
FSR;
see "Floating Point Status Register (FSR)" on page 34
•
A denormalized result is stored as a signed 0 with the underflow bit set in FSR. This method is
commonly referred to as Flush-to-Zero (FTZ)
•
An operation on a quiet NaN returns the fixed NaN: 0xFFC00000, rather than one of the NaN
operands
•
Overflow as a result of a floating point operation always returns signed
∞
Format
An IEEE 754 single precision floating point number is composed of the following three fields:
1. 1-bit
sign
2. 8-bit biased
exponent
3. 23-bit
fraction
(a.k.a. mantissa or significand)
The fields are stored in a 32 bit word as defined in
:
The value of a floating point number
v
in MicroBlaze has the following interpretation:
1. If
exponent
= 255 and
fraction
<> 0, then
v
= NaN, regardless of the
sign
bit
2. If
exponent
= 255 and
fraction
= 0, then
v
= (-1)
sign
*
∞
3. If 0 <
exponent
< 255, then
v
= (-1)
sign
* 2
(
exponent
-127)
* (1.
fraction
)
4. If
exponent
= 0 and
fraction
<> 0, then
v
= (-1)
sign
* 2
-126
* (0.
fraction
)
5. If
exponent
= 0 and
fraction
= 0, then
v
= (-1)
sign
* 0
1. Numbers that are so close to 0, that they cannot be represented with full precision, that is, any number
n
that falls in the
following ranges: ( 1.17549*10
-38
>
n
> 0 ), or ( 0 >
n
> -1.17549 * 10
-38
)
0
1
9
31
↑
↑
↑
sign
exponent
fraction
Figure 2-24:
IEEE 754 Single Precision Format
Содержание MicroBlaze
Страница 1: ...MicroBlaze Processor Reference Guide Embedded Development Kit EDK 14 7 UG081 v14 7...
Страница 4: ...MicroBlaze Processor Reference Guide www xilinx com UG081 v14 7...
Страница 8: ...8 www xilinx com MicroBlaze Processor Reference Guide UG081 v14 7 Chapter 1 Introduction Send Feedback...
Страница 262: ...262 www xilinx com MicroBlaze Processor Reference Guide UG081 v14 7 Send Feedback...