Translator Unit Floating Point Precision Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Program code conversion faces challenges when converting code from one processor type to another due to differences in Instruction Set Architecture (ISA), particularly with floating-point operations, as the target platform may lack necessary precision support, leading to inefficient use of integer hardware for floating-point operations.

Innovation Solution

A method and apparatus for program code conversion that includes a translator unit using a floating point status unit, control unit, and calculation unit to determine precision needs and generate target code that either uses the target FPU directly or employs integer and floating-point units to achieve the required precision, optimizing intermediate representations and code generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the target FPU is used directly for floating point operations, then execution speed is improved, but precision requirements cannot be met when target precision is lower than subject precision

Engineering Contradiction:
Improveexecution speedVSAvoidfloating point precision
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system dynamically adapts the precision of floating-point operations based on the actual requirements of the subject code. The translator analyzes each floating-point operation to determine the minimum necessary precision, allowing the target FPU to operate at lower precision when sufficient while maintaining higher precision when required, thus optimizing both speed and precision

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the precision parameter of floating-point operations from a fixed value to a variable that can be adjusted based on the specific operation requirements. By modifying precision parameters dynamically, the system can use lower precision (faster execution) when adequate and higher precision (slower execution) when necessary

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If integer hardware is used to provide floating point operation results, then precision requirements can be met, but execution efficiency deteriorates

Engineering Contradiction:
Improvefloating point precisionVSAvoidexecution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The invention introduces an intermediary translation layer that converts subject code floating-point operations into equivalent target code operations. This intermediary translator analyzes precision requirements and generates appropriate target instructions, avoiding direct use of slow integer hardware while ensuring precision requirements are met through selective use of target FPU capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The invention replaces the mechanical approach of using integer hardware for all floating-point operations with a smarter approach that uses code translation to generate appropriate FPU instructions. This substitution eliminates the need for slow integer-based floating-point computation by translating operations into efficient FPU instructions when possible

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If code conversion is performed to handle precision differences, then hardware incompatibility is addressed, but system complexity increases

Engineering Contradiction:
Improvehardware compatibilityVSAvoidcode conversion complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The translation system implements a universal code conversion mechanism that handles multiple precision scenarios through a single unified approach. The translator can adapt to different subject-target precision combinations (higher-to-lower, lower-to-higher, matching precisions) using the same fundamental translation framework, reducing overall system complexity despite handling diverse compatibility scenarios

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2142987B1Improvements in and relating to floating point operations
Publication Date: 2015.01.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2142987B1 patent drawingFigure 1
  • EP2142987B1 patent drawingFigure 2
  • EP2142987B1 patent drawingFigure 3

AI summary

A computing system comprising capable of handling floating point operations during program code conversion is described, comprising a processor including a floating point unit and an integer unit. The computing system further comprises a translator unit arranged to receive subject code instructions including at least one instruction relating to a floating point operation and in response to generate corresponding target code for execution on said processor. To handle floating point operations a floating point status unit and a floating point control unit are provided within the translator. These units are cause the translator unit to generate either: target code for performing the floating point operations directly on the floating point unit; or target code for performing the floating point operations indirectly, for example using a combination of the integer unit and the floating point unit. In this way the efficiency of the computing system is improved.