Vector Permute Logic with Control Register and Immediate Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face challenges in efficiently performing vector permute operations with an index and immediate, particularly in implementing table lookups for high-performance computing workloads, due to limitations in existing instruction set architectures and microarchitectures.

Innovation Solution

The introduction of a vector friendly instruction format that includes specific fields for vector operations, such as the immediate field, allows for efficient vector permute operations by matching the most significant bits of control register elements with the least significant bits of an immediate value, enabling efficient data element swapping and copying between source and destination registers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional instruction set architectures are used for vector permute operations, then device compatibility is maintained, but processing efficiency and performance are insufficient

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The instruction is divided into multiple fields including opcode field, source register field, destination register field, control register field, and immediate field. Each field serves a specific function in the vector permute operation, allowing complex operations to be broken down into manageable components that can be processed efficiently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control register is pre-loaded with control data elements containing index values and match criteria before the permute operation executes. This preliminary preparation allows the execution unit to perform rapid comparisons and selections without computing these values during the actual permute operation, thereby improving processing efficiency

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If vector permute operations are implemented without immediate values, then instruction simplicity is maintained, but control precision over data element permutation is insufficient

Engineering Contradiction:
Improvecontrol precisionVSAvoidinstruction format complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The immediate field provides localized control precision for specific aspects of the permute operation (matching control data elements with immediate values), while other fields handle different aspects of the operation. This allows precise control where needed without adding complexity to the entire instruction format

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The control register serves multiple functions: it stores index values for selecting source data elements, stores match criteria for comparing with immediate values, and controls which source elements are copied to destination elements. This multi-functionality provides precise control without requiring separate instructions for each function

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

3Speed

If existing instruction formats are used for table lookups, then instruction compatibility is maintained, but processing speed is insufficient for high-performance computing

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution unit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The control register is pre-loaded with control data elements containing index values and match criteria before the permute operation executes. This preliminary preparation allows the execution unit to perform rapid comparisons and selections without computing these values during the actual permute operation, thereby improving processing speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The execution unit dynamically compares control data elements with immediate values and selectively copies source data elements to destination elements based on match results. This dynamic selection process enables fast table lookups by directly mapping control values to source elements without sequential processing

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3238038B1Method and apparatus for performing a vector permute with an index and an immediate
Publication Date: 2022.01.05 INTEL CORP
  • EP3238038B1 patent drawingFigure 1A
  • EP3238038B1 patent drawingFigure 1B
  • EP3238038B1 patent drawingFigure 2A~2C

AI summary

An apparatus and method for performing a vector permute. For example, one embodiment of a processor comprises: a source vector register to store a plurality of source data elements; a destination vector register to store a plurality of destination data elements; a control vector register to store a plurality of control data elements, each control data element corresponding to one of the destination data elements and including an N bit value indicating whether a source data element is to be copied to the corresponding destination data element; vector permute logic to compare the N bit value of each control data element to an N bit portion of an immediate to determine whether to copy a source data element to the corresponding destination data element, wherein if the N bit values match, then the vector permute logic is to identify a source data element using an index value included in the control data element and to responsively copy the source data element to the corresponding destination data element in the destination vector register.