Floating-Point Multiplier With Early Injection Rounding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing apparatuses face challenges in efficiently handling floating-point multiplication, especially when input operands are not normalized, as they require additional capabilities to convert non-normalized inputs and maintain speed and efficiency.
Innovation Solution
The apparatus employs partial product generation circuitry, exponent calculation circuitry, rounding injection circuitry, adder circuitry, significand shift circuitry, and selection circuitry to perform floating-point multiplication, allowing for early injection rounding and efficient handling of normalized and sub-normal inputs by determining shift amounts and directions based on exponent values and leading zero counts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the floating-point multiplier is designed to handle non-normalized inputs directly, then the versatility and adaptability of the multiplier is improved, but the device complexity and processing time increase due to additional conversion capabilities required
Solution Approach 1:
The invention performs preliminary actions by pre-calculating and storing rounding constants in a lookup table before the actual multiplication operation. The rounding constants are prepared in advance based on possible shift amounts, allowing the multiplier to directly handle non-normalized inputs without complex real-time conversion. This preliminary preparation of rounding data resolves the contradiction by enabling versatility while maintaining simplicity during the actual multiplication process.
2Adaptability or versatility
If additional conversion capability is provided to convert non-normalized inputs to normalized representation, then the adaptability is improved, but the processing speed decreases due to additional conversion steps
Solution Approach 1:
The invention performs preliminary determination of the shift amount and rounding constants based on the input operands' characteristics before executing the main multiplication. By pre-determining these parameters using leading zero counts and exponent values, the system avoids time-consuming conversion steps during the critical multiplication path, thus maintaining high speed while handling non-normalized inputs effectively.
Solution Approach 2:
The invention creates a copy of the rounding constant from a pre-computed lookup table that matches the determined shift amount. Instead of performing complex real-time conversion of non-normalized inputs, the system copies the appropriate pre-prepared rounding constant and applies it directly to the product significand. This copying approach maintains processing speed while achieving the effect of handling non-normalized inputs correctly.
3Measurement precision
If rounding is performed later in the process, then the precision of intermediate calculations is maintained, but the overall processing time increases due to delayed rounding operations
Solution Approach 1:
The invention performs preliminary determination of the rounding constant and shift amount before the main multiplication operation completes. By pre-calculating these rounding parameters based on input characteristics (leading zero counts, exponent values), the system prepares all necessary rounding information in advance. This allows rounding to be effectively performed as part of the main computation path rather than as a separate delayed operation, thus reducing processing time while maintaining precision through the use of appropriately shifted and rounded product significands.
Data Source
AI summary
An apparatus and method for floating-point multiplication are provided. Two partial products are generated from two operand significands. An unbiased result exponent is determined from operand exponent values and leading zero counts, and a shift amount and direction for a product significand as needed for a predetermined minimum exponent value of a predetermined canonical format. First and second rounding values for injection into addition of the partial products are generated by shifting a predetermined rounding pattern by the shift amount in an opposite shift direction for the first rounding value and left shifting by one bit the first rounding value to give the second. The first and second partial products are added together with the first rounding value to give a first product significand, and are added together with the second rounding value to give a second product significand. These product significands are shifted by the shift amount in the shift direction and one is then selected in order to generate a formatted significand in the predetermined canonical format. The early injection rounding provides a faster floating-point multiplier.


