DSPRelated.com
Forums

What's a "denormal operand"?

Started by Richard Armstrong January 25, 2001
Hello All,

In chaper two of the SHARC User's Manual ("Computation Units", "IEEE
Floating Point Operations" is the section heading), pg 2-3 says "Denormal
operands are flushed to zeros when input to a computation unit and do not
heberate an underflow exception". What's a "denormal" operand?

Thanks in Advance,
Rick Armstrong



--- In , "Richard Armstrong" <rick@r...> wrote:
> Hello All,
>
> In chaper two of the SHARC User's Manual ("Computation Units", "IEEE
> Floating Point Operations" is the section heading), pg 2-3 says
"Denormal
> operands are flushed to zeros when input to a computation unit and
do not
> heberate an underflow exception". What's a "denormal" operand?
>
> Thanks in Advance,
> Rick Armstrong

Denormal operands are NANs (not-a-number). When you look at the IEEE
floating-point format you can see there are certain bit combinations
which do not make a valid floating-point number (for example
0xffffffff). These are NANs.

Regards,
Andor



> Date: Thu, 25 Jan 2001 00:28:19 -0500
> From: "Richard Armstrong" <>
> Subject: What's a "denormal operand"?
>
> Hello All,
>
> In chaper two of the SHARC User's Manual ("Computation Units", "IEEE
> Floating Point Operations" is the section heading), pg 2-3 says "Denormal
> operands are flushed to zeros when input to a computation unit and do not
> heberate an underflow exception". What's a "denormal" operand?
>
> Thanks in Advance,
> Rick Armstrong
>

Hi Rick,

A floating point number is represented as

sign mantissa times radix**exponent,

If mantissa has first digit non-zero, the number is considered to
be normalized. When the first several digits of mantissa are zeroes,
the number is considered denormal. Such numbers are used e.g. in Intel
x86 FPUs to avoid sudden flushes to zero, and therefore all situated
between minimum positive normalized number and maximum negative
normalized number.

For further reference you may search on www.docs.sun.com or docs.sun.com
for Goldberg's paper. Pentium's Architecture and programming manual on
http://developers.intel.com also has an introduction to IEEE floating
point numbers.

Regards,

--
Andrew

Optimized Math and Vector DSP libraries for TMS320C67x.



--- In adsp@y..., "Andrew V. Nesterov" <nesterov@h...> wrote:
...
> Hi Rick,
>
> A floating point number is represented as
>
> sign mantissa times radix**exponent,
>
> If mantissa has first digit non-zero, the number is considered to
> be normalized. When the first several digits of mantissa are zeroes,
> the number is considered denormal. Such numbers are used e.g. in
Intel
> x86 FPUs to avoid sudden flushes to zero, and therefore all situated
> between minimum positive normalized number and maximum negative
> normalized number.

Hi Andy,

thanks for correcting my mistake ;). Great to have an expert like you
on board.

Another interesting site on floating-point standards and arithmetic
(where, among others, denormals are also discussed):
http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/index.h
tml

Regards,
Andor