Sort Lists Instruction for General-Purpose Processor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database processing methods require complex sequences of primitive instructions for sort and merge operations, leading to increased complexity and reduced performance due to the need for optimization across different processor models.

Innovation Solution

A single architected instruction, such as the Sort Lists instruction, is used to perform sorting and merging operations on a general-purpose processor, replacing multiple primitive instructions and optimizing performance by designating operation codes, registers, and parameter blocks to facilitate sorting and merging of data records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple primitive instructions are used to perform sort and merge operations, then the operations can be executed on a general-purpose processor, but the program complexity increases and performance decreases

Engineering Contradiction:
Improvecompatibility with general-purpose processorVSAvoidprogram complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple primitive instructions into a single architected sort instruction that performs sorting operations. This single instruction integrates the functionality of multiple separate instructions, reducing program complexity while maintaining compatibility with general-purpose processors through standardized instruction formats and register operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The sort instruction is designed with multi-functionality to handle various sorting scenarios including different data types, sorting orders, and optimization levels. By incorporating multiple functions within a single instruction, the patent eliminates the need for separate instructions for each sorting variant, thereby reducing overall program complexity.

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

2Adaptability or versatility

If multiple primitive instructions are used to perform sort and merge operations, then the operations can be executed on a general-purpose processor, but the overall performance is reduced

Engineering Contradiction:
Improvecompatibility with general-purpose processorVSAvoidprocessing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By merging multiple primitive instructions into a single architected sort instruction, the patent reduces the total number of instruction cycles required for sorting operations. This consolidation eliminates overhead associated with multiple separate instruction executions and improves processing performance while maintaining general-purpose processor compatibility.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The sort instruction incorporates preliminary actions such as data alignment, register preparation, and parameter setup within the instruction itself. By performing these preparatory actions as part of the single instruction execution, the patent eliminates separate preparation steps that would otherwise reduce overall processing performance.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If primitive instructions are optimized for each processor model, then performance can be improved, but the application complexity increases

Engineering Contradiction:
Improveprocessing performanceVSAvoidapplication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The sort instruction is designed as a universal instruction that functions across different processor models without requiring model-specific optimizations. By implementing a standardized instruction format with configurable parameters, the patent achieves consistent performance across processor models while eliminating the complexity of writing separate optimized code for each model.

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

Solution Approach 2:

The instruction allows for parameter changes to accommodate different processor models and sorting requirements. By using configurable parameters within the single instruction rather than model-specific instruction sets, the patent maintains performance optimization capabilities while reducing application complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3877840B1Sort and merge instruction for a general-purpose processor
Publication Date: 2022.10.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP3877840B1 patent drawingFigure 1A~1B
  • EP3877840B1 patent drawingFigure 2
  • EP3877840B1 patent drawingFigure 3A~3F

AI summary

A Sort Lists instruction is provided to perform a sort and/or a merge operation. The instruction is an architected machine instruction of an instruction set architecture and is executed by a general-purpose processor of the computing environment. The executing includes sorting a plurality of input lists to obtain one or more sorted output lists, which are output.