DSP Streaming Engine for Null-Vector Padding and Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Digital signal processors face challenges with memory bandwidth and scheduling issues when processing real-time data streams, particularly in applications requiring predictable but non-sequential input data patterns, which can lead to system failures if transformed data is not output on schedule.
Innovation Solution
A streaming engine is integrated into the DSP architecture to manage data streams, including an address generation stage and data formatting, capable of forming null or padded vectors without accessing system memory, and supporting multi-dimensional loops to improve memory bandwidth and data scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a streaming engine is added to manage data streams and form null vectors, then memory bandwidth is improved and cache miss stalls are reduced, but device complexity increases
Solution Approach 1:
The streaming engine is divided into distinct functional stages: address generation stage that calculates memory addresses, data formatting stage that prepares data for processing, and null vector generation capability that creates padded vectors without memory access. This segmentation allows each component to be optimized independently while working together to improve overall memory bandwidth and reduce cache miss stalls.
Solution Approach 2:
The streaming engine performs preliminary actions by pre-calculating address generation patterns and pre-forming null vectors before actual data processing occurs. The address generation stage prepares memory access patterns in advance, and the null vector generation capability creates padded vectors locally without requiring memory reads, thereby reducing cache miss stalls and improving memory bandwidth efficiency.
2Reliability
If the streaming engine forms null vectors without accessing system memory, then cache miss stalls are reduced, but the device requires additional internal memory resources
Solution Approach 1:
The patent extracts the null vector generation function from the main memory access path by implementing a dedicated null vector generation capability within the streaming engine. This allows null vectors to be formed internally without accessing system memory, thereby eliminating the cache miss stalls that would otherwise occur when loading null data from memory.
Solution Approach 2:
The streaming engine acts as an intermediary between the processor and system memory. It includes an internal buffer or register file that can store null vectors temporarily, serving as a mediator that provides null data without requiring actual memory accesses. This intermediary approach reduces cache miss stalls while using minimal internal memory resources.
Data Source
AI summary
A method is described herein. The method generally includes receiving stream parameters that defines an array, wherein the stream parameters include a first null element count and a second null element count. The method generally includes forming a stream of vectors for the multidimensional array responsive to the stream parameters. The stream of vectors generally includes a vector of null elements at a beginning of the stream of vectors based on the first null element count. The stream of vectors generally includes a null element at a beginning of each vector of the stream of vectors based on the second null element count. The stream of vectors generally includes a set of data distributed across a subset of the stream of vectors. The method generally includes providing the stream of vectors.


