Stream Vector Padding for Memory-Efficient Data Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Digital signal processors face challenges in managing memory bandwidth and scheduling for real-time data processing, particularly in systems with shared memory architectures, leading to potential delays in outputting transformed data streams.
Innovation Solution
Incorporating a streaming engine with autonomous capabilities to manage data streams, including features like address generation, data formatting, and cache control, which allows for the insertion of null vectors or padded vectors without accessing system memory, thereby optimizing memory access and improving data scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a streaming engine is used to manage data streams with autonomous capabilities, then memory bandwidth and data scheduling efficiency are improved, but device complexity increases
Solution Approach 1:
The streaming engine performs autonomous address generation, data formatting, and cache control without requiring complex external management. The engine self-manages its own operations to optimize memory bandwidth and data scheduling, reducing the need for higher-level intervention while maintaining improved performance
Solution Approach 2:
The streaming engine is divided into functional modules including address generation units, data formatting units, and cache control units. This segmentation allows each module to handle specific tasks independently, improving overall efficiency while keeping the complexity of individual modules manageable
2Speed
If null vectors or padded vectors are inserted without accessing system memory, then processing speed is improved, but data structure complexity increases
Solution Approach 1:
The streaming engine generates null vectors and padded vectors in advance during the data formatting phase, before the actual processing begins. This preliminary preparation eliminates the need for runtime memory access when null or padded data is needed, significantly improving processing speed
Solution Approach 2:
Instead of accessing system memory for null or padded vectors, the streaming engine creates copies of these vectors internally using predefined patterns. The data formatting unit generates these vectors by copying standard null or padding patterns rather than reading from memory, maintaining speed while managing structure complexity
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.


