Processor Reciprocal Square Root Execution Circuitry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processor architectures lack efficient methods for performing fractional reciprocal and reciprocal square root operations, which are essential for various digital signal processing tasks, leading to suboptimal performance in operations like multiply-accumulate operations.

Innovation Solution

The introduction of specific instruction formats and execution methods, such as the VEX instruction format and the use of coefficient tables, enable the processing of fractional reciprocal and reciprocal square root operations within processor architectures, allowing for precise calculations of reciprocal values for packed data elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional processor architectures are used for fractional reciprocal and reciprocal square root operations, then the device complexity remains low, but the processing speed and productivity are insufficient

Engineering Contradiction:
Improveprocessing speed of reciprocal operationsVSAvoidprocessor architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The reciprocal operation is divided into multiple stages: initial approximation using lookup tables, followed by iterative refinement using Newton-Raphson or Goldschmidt methods. This segmentation allows the complex operation to be broken down into manageable steps that can be executed efficiently in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Pre-computed coefficient tables are stored in the processor for initial approximation of reciprocal values. These tables contain pre-calculated values that serve as starting points for the iterative refinement process, eliminating the need to compute from scratch and significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If sequential instruction execution is used for multiply-accumulate operations, then the device complexity remains low, but the productivity and processing efficiency are suboptimal

Engineering Contradiction:
Improveprocessing efficiency of multiply-accumulate operationsVSAvoidinstruction execution architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The multiply and accumulate operations are merged into a single instruction cycle. The processor executes multiplication and addition simultaneously using dedicated functional units, allowing the compound operation to complete in one step rather than requiring separate instruction cycles for each operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The processor maintains continuous operation by pipelining the multiply-accumulate instructions, where multiple operations are overlapped in execution. While one multiplication is completing, another can be initiated, ensuring that the processing units remain continuously utilized without idle cycles.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10664237B2Apparatus and method for processing reciprocal square root operations
Publication Date: 2020.05.26 INTEL CORP
  • US10664237B2 patent drawing
  • US10664237B2 patent drawing
  • US10664237B2 patent drawing

AI summary

An apparatus and method for performing a reciprocal square root. For example one embodiment of a processor comprises: a decoder to decode a reciprocal square root instruction to generate a decoded reciprocal square root instruction; a source register to store at least one packed input data element; a destination register to store a result data element; and reciprocal square root execution circuitry to execute the decoded reciprocal square root instruction, the reciprocal square root execution circuitry to use a first portion of the packed input data element as an index to a data structure containing a plurality of sets of coefficients to identify a first set of coefficients from the plurality of sets, the reciprocal square root execution circuitry to generate a reciprocal square root of the packed input data element using a combination of the coefficients and a second portion of the packed input data element.