DSP Streaming Engine with Configurable Loop Template Formats
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern digital signal processors face challenges with increasing workloads, memory bandwidth and scheduling issues, memory system latency, and memory access difficulties in real-time data processing, particularly in video encoding applications.
Innovation Solution
A streaming engine is employed in a digital signal processor that generates addresses for data elements and supplies them to functional units, using a stream template with specified loop counts and dimensions, enabling efficient data processing for real-time filtering operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed stream template format is used, then the device complexity is reduced and ease of operation is improved, but the adaptability to different loop configurations is limited
Solution Approach 1:
The stream template format is made dynamic and configurable through a format definition field that can be programmed to specify different interpretations of the same bit positions. This allows the template to adapt to various loop configurations (different numbers of loops, different loop count sizes, different dimension sizes) without requiring multiple fixed formats or increasing hardware complexity.
2Adaptability or versatility
If more loops are supported in the stream template, then the adaptability is improved, but the precision of loop count and dimension specification is reduced
Solution Approach 1:
The format definition field enables parameter changes by allowing the system to reconfigure how stream template bits are interpreted. When more loops are needed, the format can be adjusted to allocate fewer bits per loop count/dimension, and vice versa. This dynamic parameter adjustment resolves the trade-off between supporting more loops and maintaining precision.
3Adaptability or versatility
If the stream template uses fixed bit allocation for loop counts and dimensions, then the manufacturing precision is improved, but the adaptability to different processing needs is reduced
Solution Approach 1:
The same physical bits in the stream template are made universal by allowing their interpretation to change based on the format definition field. This multi-functionality enables the bits to serve different purposes (representing different numbers of loops, different precision levels) without requiring additional hardware resources, thus maintaining manufacturing precision while improving adaptability.
Data Source
AI summary
A streaming engine employed in a digital data processor specifies a fixed read only data stream defined by plural nested loops. An address generator produces address of data elements for the nested loops. A steam head register stores data elements next to be supplied to functional units for use as operands. A stream template specifies loop count and loop dimension for each nested loop. A format definition field in the stream template specifies the number of loops and the stream template bits devoted to the loop counts and loop dimensions. This permits the same bits of the stream template to be interpreted differently enabling trade off between the number of loops supported and the size of the loop counts and loop dimensions.


