摘要 |
A floating point unit multiplies two normalized floating point numbers. The input exponents are used to calculate the result exponent for a normalized value. If this exponent indicates that the result will be subnormal, then a rounding value is shifted by the number of leading zeroes in the subnormal result. The rounding value is then added to the partial products produced by a Booth multiplier from the input mantissas. The result of the addition is then shifted by the same amount in the opposite direction to produce the subnormal result. A mask may also be shifted by the same amount as the rounding value, in order to identify guard and sticky bits in the result mantissa. These may then be used to adjust the value of the result mantissa. The unit may have normalization circuitry to ensure that the input values are normalized. The rounding constant may be dependent on the rounding mode. |