Vector Permutation Instruction with Dynamic Masking Granularity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current vector processing instructions, such as VINSERT, VEXTRACT, and VPERMUTE, face limitations in flexibility and efficiency due to fixed operand sizes and masking mechanisms, which restrict their ability to handle varying data element sizes and complex permutation patterns effectively.

Innovation Solution

The introduction of improved vector instructions, including VINSERTF32X4, VINSERTF64X2, VINSERTF32X8, VINSERTF64X4, VEXTRACT32X4, VEXTRACT64X2, VEXTRACT32X8, VEXTRACT64X4, VPERMUTE, VPERMW, VPERMD, VPERMQ, VPERMILPS, and VPERMILPD, which incorporate advanced masking techniques and granular control over data element selection, allowing for more flexible and efficient operations on varying data sizes and permutations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed operand sizes are used in vector processing instructions, then the instruction format is simple and easy to implement, but the flexibility to handle varying data element sizes is restricted

Engineering Contradiction:
Improveflexibility to handle varying data element sizesVSAvoidinstruction format complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic operand size specification through the W field in the instruction format, allowing the data element width to be changed at runtime. This enables the same instruction to handle different data sizes (32-bit, 64-bit, etc.) by simply modifying the W field value, transforming a static instruction format into a dynamic one that adapts to varying computational needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of data element width from a fixed value to a variable parameter controlled by the W field. By allowing this parameter to be modified through instruction encoding, the system can adapt to different data element sizes without requiring separate instructions for each size, thus improving versatility while maintaining reasonable format complexity.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If traditional masking mechanisms are used, then the masking logic is simple, but the ability to handle complex permutation patterns is restricted

Engineering Contradiction:
Improveability to handle complex permutation patternsVSAvoidmasking mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the masking mechanism into multiple independent components: the traditional mask register for element-level control, and the new G field for operation-level control. This segmentation allows complex permutation patterns to be handled by combining simple mask operations with the broader granularity control of the G field, achieving high versatility without excessive complexity in any single component.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enhances the universality of the masking mechanism by making it serve multiple functions: traditional element-level masking through mask registers, and new operation-level masking through the G field. This multi-functional masking system can handle both simple and complex permutation patterns using a unified mechanism, improving adaptability while avoiding the need for separate specialized mechanisms.

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

3Productivity

If fixed data element widths are used, then the execution unit design is simplified, but the efficiency of processing diverse data sizes is reduced

Engineering Contradiction:
Improveprocessing efficiency for diverse data sizesVSAvoidexecution unit design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces the W field as a controllable parameter that specifies data element width at runtime. This allows the execution unit to dynamically adjust its processing behavior based on the required data element size, improving productivity for diverse data sizes. The execution unit design incorporates this parameter to select appropriate processing paths without requiring multiple dedicated execution units for each data width.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The execution unit is designed to be dynamic rather than static, with the capability to change its operational characteristics based on the W field value. This dynamic design allows a single execution unit to efficiently process multiple data element widths by adapting its internal processing logic, thereby improving productivity across diverse data sizes without proportionally increasing device complexity.

Inventive Principle:
Principle #15Dynamics

4Ease of operation

If simple insert and extract instructions are used, then the instruction set is easy to implement, but the capability to perform granular data manipulation is limited

Engineering Contradiction:
Improvegranular control over data element selectionVSAvoidinstruction set complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent enhances the granularity of data manipulation by introducing parameters that control the insertion and extraction operations at different levels. The W field allows specification of data element width, while the mask registers and G field provide control over which elements are inserted or extracted. This parametric approach enables fine-grained data manipulation while maintaining a unified instruction format that does not excessively increase instruction set complexity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The insert and extract instructions are segmented into multiple operable dimensions: element selection through mask registers, operation granularity through the G field, and data width through the W field. This segmentation allows users to achieve fine-grained control over data element selection by combining these independent control mechanisms, improving ease of operation without requiring a proliferation of separate instructions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10719316B2Apparatus and method of improved packed integer permute instruction
Publication Date: 2020.07.21 INTEL CORP
  • US10719316B2 patent drawing
  • US10719316B2 patent drawing
  • US10719316B2 patent drawing

AI summary

An apparatus is described having instruction execution logic circuitry. The instruction execution logic circuitry has input vector element routing circuitry to perform the following for each of three different instructions: for each of a plurality of output vector element locations, route into an output vector element location an input vector element from one of a plurality of input vector element locations that are available to source the output vector element. The output vector element and each of the input vector element locations are one of three available bit widths for the three different instructions. The apparatus further includes masking layer circuitry coupled to the input vector element routing circuitry to mask a data structure created by the input vector routing element circuitry. The masking layer circuitry is designed to mask at three different levels of granularity that correspond to the three available bit widths.