Vector Permutation Sorting for Real-Time DSP Data Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital signal processors face challenges in efficiently processing real-time data streams due to limitations in memory access and scheduling, particularly in handling predictable but non-sequential input patterns required for video encoding and other applications.

Innovation Solution

The implementation of a streaming engine within the DSP processor that manages data streams using six-dimensional nested loops and supports vector sorting instructions, enabling improved memory bandwidth and data scheduling through autonomous address generation and data formatting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional memory access methods are used in DSP processors, then data can be loaded into registers, but memory bandwidth is limited and cache miss stalls occur

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcache miss stalls
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the data stream processing into multiple parallel lanes within a single instruction, allowing simultaneous processing of multiple data elements. This segmentation enables the processor to handle multiple data streams in parallel, reducing the impact of cache miss stalls on overall processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The streaming engine performs preliminary actions by autonomously generating addresses and formatting data before it reaches the functional units. This pre-processing includes predicting memory addresses, formatting data streams, and managing data flow, which reduces the processing burden on the main DSP core and minimizes cache access delays.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If scalar operations are used for data processing, then processing can be performed, but processing efficiency is reduced due to the need for scalar operations on real-time data streams

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidscalar operations overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple scalar operations into a single vector instruction that operates on multiple data elements simultaneously. The vector sorting instruction, for example, sorts multiple elements in a single operation rather than requiring separate scalar comparisons and swaps for each element, thereby eliminating the overhead of repeated scalar operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent replaces mechanical scalar operation sequences with a streamlined vector processing mechanism. Instead of executing multiple scalar instructions for sorting or processing data streams, the system uses specialized vector instructions with dedicated hardware support, substituting the mechanical sequence of scalar operations with a more efficient vector processing mechanism.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Manufacturing precision

If vector sorting is implemented using traditional methods, then sorting can be performed, but processing time increases due to sequential comparison and swap operations

Engineering Contradiction:
Improvesorting accuracyVSAvoidsorting time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent combines multiple comparison and swap operations into a single vectorized sorting instruction. The vector permutation logic unit performs parallel comparisons across multiple data elements simultaneously and executes coordinated swaps in a single operation, maintaining sorting accuracy while dramatically reducing the time required compared to sequential scalar sorting methods.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a vector permutation logic unit as an intermediary between data loading and sorting output. This specialized unit handles the complex sorting operations using vectorized instructions, acting as a mediator that translates high-level sorting requirements into efficient parallel comparison and permutation operations, thereby reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11461096B2Method and apparatus for vector sorting using vector permutation logic
Publication Date: 2022.10.04 TEXAS INSTRUMENTS INC
  • US11461096B2 patent drawing
  • US11461096B2 patent drawing
  • US11461096B2 patent drawing

AI summary

A method for sorting of a vector in a processor is provided that includes performing, by the processor in response to a vector sort instruction, generating a control input vector for vector permutation logic comprised in the processor based on values in lanes of the vector and a sort order for the vector indicated by the vector sort instruction and storing the control input vector in a storage location.