Computer Hardware User's Guide

Floating-Point Multiplication
5-26
5.5 Floating-Point Multiplication
A floating-point number α can be written in floating-point format as in the following
formula, where α(
man
) is the mantissa and α(
exp
) is the exponent:
α = α(
man
) × 2
α(
exp
)
The product of α and
b
is
c
, defined as:
c
= α ×
b
= α(
man
) ×
b
(
man
) × 2
(α(
exp
)
+
b
(
exp
))
thus:
c
(
man
)=α(
man
) ×
b
(
man
)
c
(
exp
)=α(
exp
) +
b
(
exp
)
During floating-point multiplication, source operands are in the single-precision
floating-point format. If the source operands are in short floating-point format,
they are converted to single-precision floating-point format. If the source oper-
ands are in extended-precision floating-point format, they are truncated to
single-precision format. These conversions occur automatically in hardware
with no overhead. All results of floating-point multiplications are in the extended-
precision format. These multiplications occur in a single cycle.
Figure 5–16 is a flowchart that shows the steps involved in floating-point multi-
plication. Each step is labelled with a number in parenthesis.
In step 1, the 24-bit source operand mantissas are multiplied, producing
a 50-bit result
c
(
man
). (Input and output data are always represented as
normalized numbers.)
In step 2, the exponents, α(
exp
) and
b
(
exp
), are added, yielding
c
(
exp
).
Step 3 checks for whether
c
(
man
) in extended-precision format is equal to
0. If
c
(
man
) is 0, step 7 sets
c
(
exp
) to –128, thus yielding the representation
for 0.
Steps 4 and 5 normalize the result.
If a right shift of 1 is necessary, then in step 8,
c
(
man
) is right-shifted one
bit, thus adding 1 to
c
(
exp
).
If a right shift of 2 is necessary, then in step 9,
c
(
man
) is right-shifted two
bits, thus adding 2 to
c
(
exp
). Step 6 occurs when the result is normalized.
In step 10,
c
(
man
) is set in the extended-precision floating-point format.
Steps 11 through 16 check for special cases of
c
(
exp
).