Exponent Processing Using Table Lookups on Standard Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing exponent processing systems require a large number of instructions and latency in implementation, and often rely on specialized hardware, which is not cost-effective for frequent utilization in graphics and scientific applications.

Innovation Solution

Implementing exponent processing systems that use standard programmable hardware, such as shader processing units, with optimized instruction sets and table lookups to reduce the number of instructions and eliminate the need for specialized hardware, by breaking down the fractional component of an exponential function into smaller tables and performing shift operations to extract integer and fractional parts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If polynomial evaluation method is used for exponent computation, then hardware resources are efficiently utilized using standard floating-point unit, but the number of instructions required and computational latency increase

Engineering Contradiction:
Improvehardware resourcesVSAvoidcomputational latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The exponent computation is segmented into three component parts (first component part, second component part, third component part) that are computed separately using table lookups and then combined. This segmentation allows parallel computation of components and reduces the sequential instruction count compared to polynomial evaluation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Tables containing pre-computed values for the component parts are prepared in advance. During exponent computation, these pre-computed values are retrieved via table lookups rather than computing them on-the-fly, significantly reducing computational latency while using standard hardware.

Inventive Principle:
Principle #10Preliminary action

2Speed

If Taylor series approximation with dedicated hardware is used, then computation speed improves, but additional specialized components and tables are required increasing device complexity

Engineering Contradiction:
Improvecomputation speedVSAvoidspecialized components
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The invention uses standard floating-point unit hardware that is already present in the processor for general-purpose operations. The same hardware resources are made multi-functional by implementing exponent computation through table lookups and combination operations, eliminating the need for dedicated exponentiation hardware while maintaining computational speed.

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

3Device complexity

If polynomial evaluation method is used, then standard floating-point unit hardware suffices, but the number of instructions required increases reducing productivity

Engineering Contradiction:
Improvehardware requirementsVSAvoidinstructions per operation
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The exponent is divided into component parts that can be looked up in parallel from separate tables. This segmentation transforms a single lengthy polynomial evaluation into multiple shorter table lookup operations followed by combination, reducing the total instruction count and improving throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Pre-computed values are stored in lookup tables that can be quickly copied into registers during computation. This replaces complex real-time polynomial evaluation with simple data retrieval and combination operations, significantly improving instruction efficiency.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7912883B2Exponent processing systems and methods
Publication Date: 2011.03.22 VIA TECH INC
  • US7912883B2 patent drawing
  • US7912883B2 patent drawing
  • US7912883B2 patent drawing

AI summary

Embodiments of exponent processing systems and methods are disclosed. One method embodiment, among others, comprises performing a first table lookup using a first address to provide a first value corresponding to the first component part, setting an integer exponent to provide an integer-based value corresponding to the integer component, performing a second table lookup using a second and third address to provide a second value and a third value corresponding to the second component part and the third component part, respectively, expanding and normalizing the second and third values to provide expanded and normalized second and third values, combining the expanded and normalized second and third values to produce a first product, and computing the exponential function by combining the first value, the integer-based value, and the first product.