Vector Find Element Not Equal Instruction for Character Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current text processing methods are inefficient for comparing character data, particularly when dealing with character data strings, as they typically compare single bytes at a time and lack effective instructions for tasks like finding termination points or determining data lengths.

Innovation Solution

A computer program product that executes a machine instruction for a Vector Find Element Not Equal operation, which compares elements of multiple vectors for inequality, searches for zero elements, and provides an index or indication of inequality, facilitating efficient processing of character data strings across various architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If single byte comparison is used for character data, then instruction compatibility is maintained, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improvecharacter data processing speedVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments character data into vectors of multiple elements that can be processed in parallel. The Vector Find Element Not Equal instruction divides the character string into elemental units that are compared simultaneously, rather than processing single bytes sequentially. This segmentation enables parallel processing while maintaining instruction compatibility through standardized vector register interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional sequential byte comparison to multi-dimensional parallel vector comparison. By utilizing vector registers that hold multiple character elements and processing them simultaneously across multiple data lanes, the instruction adds a dimension of parallelism to the comparison operation, dramatically improving throughput without increasing instruction complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If traditional character processing instructions are used, then compatibility with existing systems is maintained, but efficiency in finding termination points and determining lengths deteriorates

Engineering Contradiction:
Improveefficiency in finding termination pointsVSAvoidcompatibility with existing systems
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The Vector Find Element Not Equal instruction serves multiple functions: it compares character data for inequality, finds termination points by detecting zero elements, and determines string lengths by returning the index of the first unequal or zero element. This multi-functional instruction replaces multiple traditional instructions while maintaining compatibility through standard vector register usage and consistent calling conventions.

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

Solution Approach 2:

The instruction performs preliminary comparison and termination detection in a single parallel operation. By comparing all elements simultaneously and identifying the first unequal or zero element in one execution cycle, it eliminates the need for sequential scanning that would otherwise be required to find termination points or determine lengths, thus performing the necessary actions before subsequent processing steps.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel vector comparison is implemented, then processing efficiency improves, but instruction set complexity and hardware requirements worsen

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent utilizes existing vector register copies and parallel comparison capabilities that are already present in modern processors. The Vector Find Element Not Equal instruction leverages the copied vector data in registers and performs parallel comparisons using existing hardware mechanisms, rather than requiring entirely new complex circuitry. This approach achieves parallel processing efficiency by utilizing and extending existing architectural features.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9588762B2Vector find element not equal instruction
Publication Date: 2017.03.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9588762B2 patent drawing
  • US9588762B2 patent drawing
  • US9588762B2 patent drawing

AI summary

Processing of character data is facilitated. A Find Element Not Equal instruction is provided that compares data of multiple vectors for inequality and provides an indication of inequality, if inequality exists. An index associated with the unequal element is stored in a target vector register. Further, the same instruction, the Find Element Not Equal instruction, also searches a selected vector for null elements, also referred to as zero elements. A result of the instruction is dependent on whether the null search is provided, or just the compare.