SIMD Processor Packing Fixed-Length Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors are inefficient in handling certain data formats due to minimal direct support for application-specific instructions, leading to limited performance improvements in processing data formats, especially outside graphic and multimedia applications.

Innovation Solution

The implementation of SIMD instructions and specialized circuitry for packing fixed-length byte values into variable-length values using scatter or shuffle masks, allowing for parallel processing and efficient memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a reduced set of general instructions is used in processors, then device complexity is reduced and versatility is improved, but processing speed and productivity for specific data formats deteriorate

Engineering Contradiction:
Improveinstruction versatilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The processor dynamically switches between scalar and SIMD execution modes based on the instruction type and data format requirements. The execution unit can adaptively reconfigure to handle different data formats (fixed-length, variable-length, packed) without requiring separate dedicated hardware for each format, thus maintaining versatility while achieving high processing speeds for specific formats when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The processor changes operational parameters by selecting different execution modes (scalar vs. SIMD) and different data format handling modes (fixed-length vs. variable-length vs. packed) based on the specific processing requirements. This parameter switching allows the same hardware to achieve optimized performance for different data formats without sacrificing general versatility.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If SIMD processors are used for parallel processing, then processing speed and productivity are improved, but device complexity increases and ease of operation deteriorates

Engineering Contradiction:
ImprovethroughputVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The SIMD execution unit is designed to perform multiple functions: it can process fixed-length values, variable-length values, and packed data formats using the same hardware infrastructure. The scatter-gather mechanism and shuffle operations provide universal applicability across different data formats and processing scenarios, reducing the need for specialized dedicated circuits for each function.

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

Solution Approach 2:

The patent introduces intermediate data structures and conversion mechanisms that act as mediators between the SIMD execution unit and various data formats. These intermediaries (such as conversion circuits and data reformatting logic) simplify the interface between the complex SIMD hardware and the diverse data formats, making the system easier to operate while maintaining high throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If fixed-length values are converted to variable-length values, then memory efficiency and bandwidth usage are improved, but processing complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidconversion circuit complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The conversion process is segmented into distinct operational phases: identification of value boundaries, extraction of individual values, and repacking into variable-length format. The scatter-gather mechanism divides the processing into separate source and destination operations, allowing each phase to be handled by specialized but relatively simple circuit blocks rather than one complex monolithic converter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copy operations as part of the conversion process, where data is copied from fixed-length format to variable-length format through the SIMD execution unit. This copying mechanism leverages the existing high-speed data movement capabilities of the SIMD architecture, avoiding the need for complex custom conversion circuits while achieving efficient format transformation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11113054B2Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression
Publication Date: 2021.09.07 ORACLE INT CORP
  • US11113054B2 patent drawing
  • US11113054B2 patent drawing
  • US11113054B2 patent drawing

AI summary

Methods and apparatuses for determining set-membership using Single Instruction Multiple Data (“SIMD”) architecture are presented herein. Specifically, methods and apparatuses are discussed for compressing or packing, in parallel, multiple fixed-length values into a stream of multiple variable-length values using SIMD architecture.