Floating-Point Conversion Circuit for Fast Integer Shifting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in converting floating-point numbers to integer or fixed-point numbers, particularly due to the complexity of handling subnormal numbers and the need for efficient processor operations that minimize pipeline stages and allow high clock speeds.

Innovation Solution

The implementation includes right shifting, left shifting, and selection circuitry to convert input numbers, with an instruction decoder generating control signals for processing operations, enabling efficient conversion between floating-point and integer or fixed-point formats by selecting appropriate shifted numbers based on the conversion instruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional conversion methods are used to handle floating-point to integer conversion, then conversion accuracy is maintained, but processor efficiency decreases due to increased pipeline stages and reduced clock speed

Engineering Contradiction:
Improveprocessor efficiencyVSAvoidconversion process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The conversion process is segmented into distinct operational paths: a fast path for normal floating-point numbers and a separate path for subnormal numbers. This segmentation allows the majority of conversions (normal numbers) to proceed through a simplified, efficient path while handling edge cases (subnormal numbers) separately, thereby improving overall processor efficiency without sacrificing accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary classification of the input floating-point number to determine whether it is normal or subnormal before proceeding with conversion. This preliminary action enables the selection of the appropriate conversion path, preventing unnecessary complexity from being applied to all conversions and allowing the processor to optimize clock speed based on the input type.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If subnormal number handling is included in the conversion process, then conversion accuracy for all input types is maintained, but the number of pipeline stages increases

Engineering Contradiction:
Improveconversion accuracyVSAvoidpipeline stage duration
Core Design Contradiction:
Measurement precisionVSDuration of action of moving object

Solution Approach 1:

The conversion circuitry is divided into separate handling paths: normal number conversion and subnormal number conversion. By segmenting the processing logic, subnormal number handling is isolated to specific circuitry that is only activated when needed, rather than being present in all conversion paths. This reduces the average pipeline stage duration while maintaining accuracy for all input types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The conversion system dynamically selects the appropriate processing path based on the input number type. The circuitry adapts its behavior by activating different conversion logic depending on whether the input is normal or subnormal, allowing the pipeline stages to be optimized for the common case (normal numbers) while still supporting the less common case (subnormal numbers) with adequate precision.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If complex conversion logic is implemented to handle all floating-point cases, then conversion accuracy is maintained, but clock speed decreases

Engineering Contradiction:
Improveconversion accuracyVSAvoidclock speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The conversion logic is segmented into lightweight operations for normal numbers and specialized operations for subnormal numbers. The majority of conversions (normal numbers) use a simple, fast logic path that maintains accuracy without requiring complex circuitry. This segmentation allows the processor to maintain high clock speeds for common operations while still supporting accurate conversion of edge cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Complex conversion logic is applied locally only where necessary - specifically for subnormal number handling - rather than being implemented throughout the entire conversion process. The local quality principle allows the system to optimize the common case (normal numbers) with simple, fast logic while concentrating computational complexity only in the specific region (subnormal handling circuitry) where it is needed, thereby preserving overall clock speed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10310809B2Apparatus and method for supporting a conversion instruction
Publication Date: 2019.06.04 ARM LTD
  • US10310809B2 patent drawing
  • US10310809B2 patent drawing
  • US10310809B2 patent drawing

AI summary

A data processing system includes instruction decoder circuitry responsive to a conversion instruction FCVTJS to convert a double precision floating point number into a 32-bit integer number. Right shifting circuitry performs a right shift upon at least part of the input number and left shifting circuitry performs a left shift of at least part of the input number. Selection circuitry serves to select one of the right shifted number and the left shifted number as a selected shifted number which forms at least part of the output number which is generated.