Processor Execution Unit for Exponential Calculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processing resources are inefficient in generating exponential values for neural network processing, particularly in floating-point formats, due to limitations in precision and accuracy, especially when dealing with high precision levels.

Innovation Solution

An execution unit for a processor is designed with multiple multiplier circuits, control circuitry, an exponent register, and look-up tables to efficiently calculate exponential functions by separating and processing integer and fractional parts of the mantissa, allowing for improved precision and accuracy in floating-point formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing processing resources are used to generate exponential values, then processing can be performed, but precision and accuracy are insufficient especially at high precision levels

Engineering Contradiction:
ImproveprecisionVSAvoidaccuracy
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The execution unit segments the exponential calculation into distinct functional blocks: unpacking circuitry that separates mantissa bits, preparation circuitry that processes integer and fractional parts separately, and selective use of lookup tables for fractional components. This segmentation allows each component to be optimized for its specific function, achieving both high precision and accuracy in the final exponential value.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If more processing resources are allocated to improve precision, then accuracy improves, but processing efficiency and resource utilization deteriorate

Engineering Contradiction:
ImproveprecisionVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The execution unit applies partial action by selectively using lookup tables only for the fractional part of the exponent calculation, while the integer part is handled by straightforward arithmetic operations. This partial application of complex resources (lookup tables) where needed and simple operations where sufficient maintains high precision without unnecessarily consuming processing resources, thus preserving efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

By dividing the calculation into segments that require different levels of computational resources, the design achieves high precision only where necessary (fractional part via lookup tables) while using efficient simple operations for the integer part, optimizing the balance between precision and processing efficiency.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If a complex execution unit with multiple multiplier circuits and lookup tables is implemented, then precision and accuracy improve, but device complexity increases

Engineering Contradiction:
ImproveprecisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The execution unit is segmented into distinct functional blocks with specialized responsibilities: unpacking circuitry for input preparation, preparation circuitry for intermediate calculations, and lookup tables for fractional components. This modular segmentation makes the complex device more manageable and potentially more efficient than a monolithic design, as each segment can be independently optimized and implemented.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The execution unit is designed as a universal floating-point exponential calculator that handles various precision formats (single-precision 32-bit and half-precision 16-bit) through the same architectural structure. The unpacking and preparation circuitry work universally for different input formats, while lookup tables provide format-specific precision, allowing one design to serve multiple precision requirements.

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

Data Source

PatentUS11106432B2Execution unit in processor
Publication Date: 2021.08.31 GRAPHCORE LTD
  • US11106432B2 patent drawing
  • US11106432B2 patent drawing
  • US11106432B2 patent drawing

AI summary

An execution unit is described which is particularly configured to generate an exponential of an operand floating point format. The operand is multiplied by a fixed multiplicand, logged to the base 2 (e) to generate a multiplication result. An integer part and a fractional part are extracted from the multiplication result. An exponent register stores the integer part to form the exponent of the exponential result. A lookup table has a plurality of entries each providing a value of 2f for a fractional part f used to access a lookup table. The fractional part is derived from a mantissa of the operand. That is, first and second bit sequences are extracted from the mantissa. One of the bit sequences is used to generate an estimated fractional component, and the other is used to access a value from the lookup table.