Streaming Engine Queue Mechanism for DSP Stream Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Digital signal processors face challenges in efficiently managing and processing multiple data streams in real-time applications due to limitations in memory bandwidth and scheduling, particularly in systems that require predictable but non-sequential input data patterns.
Innovation Solution
A streaming engine is integrated into the digital signal processor (DSP) to manage multiple data streams by differentiating between speculative and queued modes of operation, allowing for efficient data acquisition and processing through address generation, data formatting, and storage, thereby improving memory bandwidth and reducing cache miss stalls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple data streams are processed sequentially in traditional DSP architecture, then processing reliability is maintained, but processing speed and productivity deteriorate
Solution Approach 1:
The patent segments the processing of multiple data streams by introducing a stream identifier field that distinguishes different streams within the same data path. This allows the processing system to handle multiple streams sequentially while maintaining their individual identities, thus improving productivity without compromising reliability through proper stream differentiation and ordering.
Solution Approach 2:
The patent applies preliminary action by pre-fetching data from memory before it is needed for processing. The data is stored in a buffer with associated stream identifiers, allowing the processor to retrieve pre-prepared data in the correct sequence. This eliminates waiting time and improves processing speed while maintaining reliability through ordered delivery.
2Productivity
If memory bandwidth is increased to handle multiple streams, then processing capacity improves, but system complexity and cost increase
Solution Approach 1:
The patent implements a universal data path that can handle multiple different data streams using the same hardware resources. By incorporating stream identifiers and using a single data path for multiple streams, the system achieves multi-functionality without proportionally increasing hardware complexity. The same processing units serve multiple streams sequentially, improving memory bandwidth utilization without linearly increasing system complexity.
3Reliability
If real-time processing is enforced with strict scheduling, then output availability is guaranteed, but processing flexibility and adaptability deteriorate
Solution Approach 1:
The patent applies dynamics by allowing the processing system to adapt its behavior based on stream identifiers. Different streams can be assigned different priorities, buffering strategies, and processing parameters dynamically. The system maintains real-time guarantees through configurable scheduling policies that can be adjusted per stream, thus preserving output availability while enhancing processing flexibility and adaptability.
Data Source
AI summary
A streaming engine in a system receives a first set of stream parameters into a queue to define a first stream along with an indication of either a queue mode of operation or a speculative mode of operation for the first stream. Acquisition of the first stream then begins. At some point, a second set of stream parameters is received into the queue to define a second stream. When the queue mode of operation was specified for the first stream, the second set of parameters is queued and acquisition of the second stream is delayed until completion of acquisition of the first stream. When the speculative mode of operation was specified for the first stream, acquisition of the first stream is canceled upon receipt of the second set of stream parameters and acquisition of the second stream begins immediately.


