Swizzle Pattern Generator for Vector Processing Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance of processing devices is degraded when swizzle instructions are interposed between load, store, and vector operation instructions, leading to significant overhead and reduced efficiency in data processing.

Innovation Solution

A processing device with a vector register and a swizzle pattern generator that creates swizzle patterns by rearranging data elements, eliminating the need for explicit swizzle instructions and reducing processing overhead by generating swizzle patterns simultaneously with data input or output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If swizzle instructions are interposed between load, store, and vector operation instructions to rearrange data elements, then data ordering is achieved, but processor performance is significantly degraded

Engineering Contradiction:
Improvedata ordering capabilityVSAvoidprocessor performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges the swizzle function with the vector processing unit by incorporating a swizzle pattern generator that operates in parallel with the vector operation execution. This allows data rearrangement and vector operations to be performed simultaneously without sequential instruction overhead, resolving the contradiction between achieving data ordering and maintaining processor performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The swizzle pattern generator creates the required data rearrangement pattern in advance during the same clock cycle that the vector operation is being executed. This preliminary preparation of the swizzle pattern eliminates the need for separate swizzle instructions to be executed before vector operations, thereby maintaining high processor performance while achieving proper data ordering.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If multiple swizzle instructions are used between all load, store, and vector operation instructions, then data elements are properly arranged for each operation, but processing overhead increases significantly

Engineering Contradiction:
Improvedata arrangement accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements a continuous swizzle pattern generation mechanism that operates throughout the vector processing pipeline. The swizzle pattern generator continuously generates rearrangement patterns for incoming data streams, ensuring that data elements are always properly arranged without interrupting the flow of vector operations. This eliminates the need for discrete swizzle instructions between each load, store, and vector operation, thereby reducing processing overhead while maintaining data arrangement accuracy.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If swizzle instructions are executed sequentially before vector operations, then input data is properly ordered, but execution time increases

Engineering Contradiction:
Improveinput data orderingVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The swizzle pattern generator performs the data rearrangement preparation in advance during the same time cycle that the vector operation is being set up. By generating the swizzle pattern preliminarily and in parallel with operation setup, the system ensures input data is properly ordered without adding sequential execution time, thus resolving the contradiction between reliability of data ordering and execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transitions from sequential swizzle instruction execution to parallel swizzle pattern generation by adding a temporal dimension to the data processing flow. The swizzle pattern generator operates in a parallel time dimension alongside the vector processing unit, allowing data ordering and operation execution to occur simultaneously rather than sequentially, thereby reducing overall execution time while maintaining reliable data ordering.

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

Data Source

PatentUS11003449B2Processing device and a swizzle pattern generator
Publication Date: 2021.05.11 SAMSUNG ELECTRONICS CO LTD
  • US11003449B2 patent drawing
  • US11003449B2 patent drawing
  • US11003449B2 patent drawing

AI summary

A swizzle pattern generator is provided to reduce an overhead due to execution of a swizzle instruction in vector processing. The swizzle pattern generator is configured to provide swizzle patterns with respect to data sets of at least one vector register or vector processing unit. The swizzle pattern generator may be reconfigurable to generate various swizzle patterns for different vector operations.