Vector Sorting Engine With Cache Bypass for DSP Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital signal processors face challenges in efficiently managing memory bandwidth and scheduling for real-time data processing, particularly in applications requiring predictable non-sequential input data patterns, which can lead to performance issues if transformed data is not output on schedule.

Innovation Solution

The implementation of a streaming engine within the DSP processor that includes address generation, data formatting, and storage for formatted data, capable of handling multiple data streams with six levels of nested iteration, and supports instruction sets for sorting elements of vectors, thereby improving memory access and data scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is processed through L1 cache for sorting operations, then cache coherence is maintained, but memory bandwidth is reduced and cache miss stalls increase

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

Solution Approach 1:

The patent segments the data processing path into two separate pathways: a cache-coherent path through L1 cache for data that requires consistency, and a bypass path directly from L2 cache to the sorting engine for data that can tolerate non-coherent access. This segmentation allows simultaneous operation of both paths, optimizing overall throughput while maintaining cache coherence where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism - a bypass mux (multiplexer) - that selectively routes data between the L1 cache path and the L2 cache bypass path. This intermediary component enables dynamic switching between cache-coherent and high-performance paths based on data requirements, resolving the contradiction between coherence and throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If vector sorting is implemented using traditional scalar methods, then implementation simplicity is maintained, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improvesorting speedVSAvoidsorting logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transitions from scalar processing to vector processing by introducing a sorting engine that operates on vector registers containing multiple data elements simultaneously. This dimensional change from processing one element at a time to processing multiple elements in parallel dramatically increases sorting speed while the complexity is managed through hardware implementation of vector operations.

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

Solution Approach 2:

The patent implements vector sorting by creating and manipulating copies of data in vector registers. The sorting engine loads data into vector registers, performs sorting operations on these copies, and writes results back to memory or registers. This copying approach enables parallel processing without requiring complex in-place sorting logic.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple data streams are processed through a single processing pipeline, then resource utilization is improved, but scheduling complexity and performance predictability worsen

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the data stream processing into separate handling paths within the sorting engine, allowing different data streams to be processed in an organized manner. The engine can handle multiple input vectors and produce multiple output vectors, with each stream potentially receiving dedicated processing resources or time slots, maintaining predictability while utilizing resources efficiently.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12032490B2Method and apparatus for vector sorting
Publication Date: 2024.07.09 TEXAS INSTRUMENTS INC
  • US12032490B2 patent drawing
  • US12032490B2 patent drawing
  • US12032490B2 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.