Vector Max Min Index Instructions for Processing Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures require multiple instructions to compute the maximum or minimum element of a vector and its index, leading to inefficient processing and increased processing speed, particularly in applications like big data computations.

Innovation Solution

Introducing specialized vector instructions such as VMAXINDEX, VMININDEX, VMAXMASK, and VMINMASK that allow for the computation of the maximum or minimum value and its index in a single instruction, eliminating the need for redundant compare and mask instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple instructions are used to compute maximum or minimum element and its index, then processing accuracy is maintained, but processing speed decreases and processing time increases

Engineering Contradiction:
Improvecomputation accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent combines the maximum/minimum computation function and the index capture function into a single unified instruction. The execution unit simultaneously determines the extreme value and captures its index position in one operation, eliminating the need for separate compare and mask instructions. This merging of functions directly resolves the contradiction by maintaining computational accuracy while significantly improving processing speed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The new instruction implements multi-functionality by enabling both the computation of maximum/minimum values and the simultaneous capture of their index positions within a single instruction format. This universal instruction replaces multiple specialized instructions, achieving both accurate computation and improved processing efficiency without sacrificing precision.

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

2Reliability

If multiple instructions are used to compute maximum or minimum element and its index, then computation completeness is ensured, but processing time increases

Engineering Contradiction:
Improvecomputation completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the complete computation process including both the extreme value determination and index capture into a single instruction execution. This ensures computation completeness is maintained while eliminating the time loss associated with sequential execution of multiple instructions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The instruction is designed to perform preliminary actions of capturing the index value simultaneously with the maximum/minimum computation, rather than requiring a subsequent separate operation. This preliminary capture of index information ensures complete computational results are obtained in one operation, reducing overall processing time.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If specialized vector instructions are introduced, then processing efficiency improves, but device complexity increases

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

Solution Approach 1:

The patent introduces a universal instruction format that can handle both maximum and minimum computations with index capture in a single instruction template. This multi-functional design improves processing efficiency while minimizing the increase in device complexity by using a standardized, flexible instruction structure that can be implemented efficiently in the decoding and execution units.

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

Data Source

PatentUS10922080B2Systems and methods for performing vector max/min instructions that also generate index values
Publication Date: 2021.02.16 INTEL CORP
  • US10922080B2 patent drawing
  • US10922080B2 patent drawing
  • US10922080B2 patent drawing

AI summary

Disclosed embodiments relate to systems and methods for performing instructions structured to compute a min/max value of a vector. In one example, a processor executes a decoded single instruction to determine on a per data element position of the identified first and second operands a maximum or minimum, store the determined maximum or minimums in corresponding data element positions of the identified first operand, and determine and store, in each data element position of the identified third operand, an indication of where the maximum or minimum came from.