Floating-Point Subnormal Handling via Bit Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In floating-point operations, calculating differences between operands can result in very small values that cannot be represented as normal numbers, requiring representation as subnormal numbers and subsequent right shifts, which complicates operations like division by 2, especially when the minimum exponent has been reached, and existing methods like leading zero anticipation can be inefficient and error-prone.

Innovation Solution

A data processing apparatus and method that compares significant portions of floating-point operands to identify when a difference will result in a minimum exponent, generating a subnormal flag to perform a 1-bit right shift on the difference, allowing division by 2 without exponent decrement and ensuring correct rounding, using bit comparison circuitry to determine if the operands are very close in value and require subnormal representation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If normal floating-point representation is used, then standard operations can be performed, but very small differences cannot be represented when the minimum exponent is reached

Engineering Contradiction:
Improverepresentation accuracyVSAvoidrange of representable values
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the floating-point comparison into multiple stages: first comparing significant portions (high-order bits) to determine if operands are very close, then comparing less significant portions only when needed. This segmentation allows the system to efficiently identify subnormal conditions without fully processing all bits in every case.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary comparison of the significant portions of operands before performing the actual subtraction. By checking if the significant portions are equal or differ by only one least significant bit, the system can predict whether the result will be subnormal and prepare accordingly, avoiding expensive post-calculation adjustments.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If subnormal representation is used, then very small values can be represented, but processing speed decreases due to additional right shift operations

Engineering Contradiction:
Improverepresentation accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs preliminary comparison of significant portions to predict subnormal conditions before the actual subtraction occurs. This allows the system to prepare the appropriate shift amount in advance, eliminating the need for expensive post-calculation analysis and enabling faster execution of right shift operations when subnormal results are detected.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The comparison circuitry uses the structure of the operands themselves (their significant portions) to generate control signals that automatically determine the required right shift amount. The operands' own bit patterns service the function of controlling the normalization process, eliminating the need for separate control logic.

Inventive Principle:
Principle #25Self-service

3Productivity

If leading zero anticipation is used to predict subnormal results, then processing can be optimized, but the method is error-prone and complex

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidaccuracy of prediction
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the floating-point number into significant portions and less significant portions, comparing them separately. This segmentation provides a clear, deterministic method for predicting subnormal conditions based on the relationship between significant portions, avoiding the ambiguities and errors associated with leading zero anticipation methods.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a simplified copy of the comparison logic that operates on significant portions only, rather than attempting to predict based on leading zero patterns. This copied comparison mechanism is more reliable and easier to implement correctly than leading zero anticipation, while still providing the necessary optimization.

Inventive Principle:
Principle #26Copying

4Ease of operation

If division by 2 is performed by exponent decrement, then the operation is simple, but it cannot be performed when the minimum exponent is reached

Engineering Contradiction:
Improvesimplicity of operationVSAvoidapplicability across all cases
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary detection of subnormal conditions using bit comparison before the division by 2 operation is executed. This allows the system to switch from exponent decrement to significand right shift in advance, ensuring the correct operation is applied without attempting invalid exponent decrements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the representation parameter from normal floating-point format to subnormal format when the minimum exponent is reached. By detecting subnormal conditions through bit comparison and adjusting the representation accordingly, the system can perform division by 2 through right shift operations on the significand rather than decrementing the exponent.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10331406B2Handling floating-point operations
Publication Date: 2019.06.25 ARM LTD
  • US10331406B2 patent drawing
  • US10331406B2 patent drawing
  • US10331406B2 patent drawing

AI summary

A data processing apparatus and method of operating a data processing apparatus are disclosed. Comparisons are made between first and second floating-point operands received. A more significant portion of the first floating-point operand and of the second floating-point operand are subject to comparison. The more significant portion of the first floating-point operand minus a least significant bit in the more significant portion is subject to comparison with the more significant portion of the second floating-point operand. A less significant portion of the first floating-point operand and of the second floating-point operand are also subject to comparison. In dependence on the outcome of these comparisons, right-shift circuitry is used selectively to perform a 1-bit right shift on a difference calculated between the first floating-point operand and the second floating-point operand.