Vector Sorting in DSP Streaming Engines for Real-Time Data Scheduling

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 with a six-dimensional nested loop architecture, coupled with instruction support for vector sorting, enhances memory bandwidth and data scheduling by enabling autonomous data formatting and address generation, thereby improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a streaming engine with six-dimensional nested loop architecture is implemented, then memory bandwidth and data scheduling efficiency are improved, but device complexity increases

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

Solution Approach 1:

The streaming engine is divided into separate functional components: address generation units, data formatting units, and sorting logic. Each component handles a specific aspect of data processing, allowing complex six-dimensional nested loop operations to be broken down into manageable segments that can be executed efficiently in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The six-dimensional nested loop architecture implements multiple levels of loop nesting where outer loops control broader data flow patterns and inner loops handle fine-grained processing. This nested structure allows the system to manage complex memory access patterns by organizing operations hierarchically, with each loop level managing a different aspect of the data streaming workflow.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If autonomous data formatting and address generation are enabled, then memory access efficiency is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvememory access efficiencyVSAvoidease of operation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The streaming engine incorporates autonomous address generation and data formatting capabilities that automatically adapt to the input data patterns. The engine self-configures its operation based on the six-dimensional loop parameters, eliminating the need for manual intervention in memory access optimization while maintaining high efficiency.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If vector sorting instruction is implemented, then data processing capability is improved, but device complexity increases

Engineering Contradiction:
Improvedata processing capabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The vector sorting functionality is merged with the existing streaming engine architecture, sharing common resources such as comparison logic and data movement pathways. The sort operation is integrated into the data flow pipeline, allowing sorting to be performed as part of the regular streaming operations without requiring completely separate hardware resources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The streaming engine is designed with universal components that can perform multiple functions: address generation, data formatting, sorting, and filtering. The same comparison logic and data movement mechanisms used for general data streaming are also utilized for vector sorting operations, reducing the need for dedicated sorting hardware.

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

Data Source

PatentUS11550575B2Method and apparatus for vector sorting
Publication Date: 2023.01.10 TEXAS INSTRUMENTS INC
  • US11550575B2 patent drawing
  • US11550575B2 patent drawing
  • US11550575B2 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, sorting of values stored in lanes of the vector to generate a sorted vector, wherein the values are sorted in an order indicated by the vector sort instruction, and storing the sorted vector in a storage location.