Floating-Point Format Conversion with Segmented Bias Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for converting between different floating point formats are either inaccurate, computationally inefficient, or require significant memory, particularly when implementing conversions in hardware processors like Floating-Point Units (FPU).
Innovation Solution
The method involves determining the second exponent by multiplying the first exponent by a predefined constant and taking its integer portion, calculating a bias value using a look-up table and binary shift operations, and then determining the second significand by multiplying the first significand with the bias value, which reduces memory requirements and improves accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a look-up table stores pre-computed bias values for every possible exponent in binary floating point formats, then conversion accuracy is improved, but memory requirements increase significantly
Solution Approach 1:
The patent segments the exponent range into multiple intervals, with each interval having its own smaller look-up table storing bias values relative to that interval's starting exponent. This divides the large memory requirement into smaller, manageable segments that can be accessed based on the input exponent's range, significantly reducing total memory while maintaining accuracy.
Solution Approach 2:
The patent introduces a new dimension by adding an offset exponent parameter to the look-up table structure. Instead of storing all bias values in a single large table, the system uses multiple small tables indexed by interval, with each table storing values relative to a base exponent for that interval. This dimensional organization reduces memory requirements while preserving conversion accuracy.
2Measurement precision
If Taylor series expansion is used to compute the bias value, then conversion accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent pre-computes and stores bias values in look-up tables during system initialization or manufacturing, rather than computing them in real-time during conversion operations. This preliminary action transfers the computational complexity from runtime to setup time, making the actual conversion process much simpler and faster while maintaining high accuracy through the pre-computed values.
Solution Approach 2:
The patent creates a simplified copy of the complex bias computation by pre-calculating all necessary bias values and storing them in look-up tables. Instead of performing complex Taylor series expansions during conversion, the system copies the pre-computed results from the tables, dramatically reducing computational complexity while preserving accuracy.
3Measurement precision
If the conversion method uses precise bias calculation, then conversion accuracy is improved, but the number of logic gates in hardware implementation increases
Solution Approach 1:
The patent segments the exponent range into multiple intervals, with each interval having its own smaller look-up table. This segmentation reduces the size of each individual table, allowing for more efficient hardware implementation with fewer logic gates per table, while the overall system maintains high accuracy through comprehensive coverage of all exponent ranges.
Solution Approach 2:
The patent performs the complex bias calculation work in advance during system initialization, storing results in look-up tables. This preliminary action eliminates the need for complex real-time computation hardware, significantly reducing the number of logic gates required in the actual conversion path while maintaining precise bias values for accurate conversion.
Data Source
AI summary
A computer program product for converting from a first floating point format to a second floating point format, each floating point format having an associated base value and being represented by a significand value and a exponent value, comprising an executable algorithm to perform the steps of: determining the second exponent value by multiplying the first exponent value by a predefined constant and taking the integer portion of the result, the predefined constant being substantially equivalent to the logarithm of the first base value divided by the logarithm of the second base value; determining a bias value substantially equivalent to the second base value raised to the second exponent value divided by the first base value raised to the first exponent value; and determining the second significand value by multiplying the first significand value by the bias value.


