×

Microarchitecture for floating point fused multiply-add with exponent scaling

  • US 9,110,713 B2
  • Filed: 08/30/2012
  • Issued: 08/18/2015
  • Est. Priority Date: 08/30/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method of implementing a floating point scaled fused multiply and accumulate (FMASc) operation in a floating point unit, the method comprising:

  • multiplying mantissas of a floating point multiplier operand with a floating point multiplicand operand in a multiplier block to obtain a mantissa of a product;

    determining a count of the number of leading zeros (LZC) of the mantissa of a floating point addend operand in a LZC block;

    determining a pre-alignment shift value for the floating point addend operand based on the LZC, a scaling factor operand, and exponents of the floating point addend operand, the floating point multiplier operand, and the floating point multiplicand operand in a pre-alignment block;

    shifting the mantissa of the floating point addend operand with the pre-alignment shift value to obtain a pre-aligned addend in an alignment block;

    accumulating the mantissa of the product and the pre-aligned addend to obtain an intermediate result in an accumulator block;

    determining the number of leading zeros of the intermediate result in a leading zero anticipator block;

    determining a normalizing shift value based on the pre-alignment shift value and the number of leading zeros of the intermediate result; and

    normalizing the intermediate result based on the normalizing shift value in a normalization block to obtain a normalized output of the FMASc operation.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×