Streaming Engine with Selectable Element and Group Duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern digital signal processors face challenges with increasing workloads, memory bandwidth limitations, and memory latency impacting real-time data processing, particularly in video encoding, where memory accesses are difficult to achieve within available resources.

Innovation Solution

A streaming engine is employed in a digital signal processor that fetches data streams ahead of use by the central processing unit core, utilizing an address generator and a stream head register to manage data elements, with optional duplication and vector masking/group duplication units to optimize data handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the streaming engine fetches data ahead of use to enhance memory bandwidth, then data processing efficiency is improved, but the complexity of data management increases

Engineering Contradiction:
Improvememory bandwidthVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The streaming engine fetches stream data ahead of use by the CPU core, loading data into the stream buffer before it is actually needed. This preliminary action allows the functional units to operate without waiting for memory accesses, effectively enhancing memory bandwidth and reducing processing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary stream buffer between the memory and the functional units. This buffer absorbs the complexity of data management by decoupling the fetch operations from the execution operations, allowing the streaming engine to manage data flow independently while simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If element duplication is applied to increase data availability, then processing throughput is improved, but register overflow occurs

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata element quantity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The element duplication unit dynamically adjusts the duplication factor based on the available stream head register space. When duplication would cause overflow, the system automatically reduces the duplication factor or pauses duplication operations, allowing flexible adaptation to varying data requirements without fixed constraints.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the duplication parameter (number of copies) as a variable rather than using a fixed value. The duplication factor is adjusted based on real-time conditions including register availability and data stream characteristics, enabling optimal throughput while preventing overflow through parameter adaptation.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If vector masking is used to control data elements, then data precision is improved, but hardware complexity increases

Engineering Contradiction:
Improvedata element selection precisionVSAvoidvector masking hardware
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The vector masking unit is designed to serve multiple functions: it masks data elements for precision control, manages vector length variations, and handles group duplication operations. By making this unit multi-functional, the patent reduces the need for separate dedicated hardware for each function, thereby limiting the increase in hardware complexity while maintaining high data precision.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250315381A1Streaming engine with separately selectable element and group duplication
Publication Date: 2025.10.09 TEXAS INSTRUMENTS INC
  • US20250315381A1 patent drawing
  • US20250315381A1 patent drawing
  • US20250315381A1 patent drawing

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. A steam head register stores data elements next to be supplied to functional units for use as operands. An element duplication unit optionally duplicates data element an instruction specified number of times. A vector masking unit limits data elements received from the element duplication unit to least significant bits within an instruction specified vector length. If the vector length is less than a stream head register size, the vector masking unit stores all 0's in excess lanes of the stream head register (group duplication disabled) or stores duplicate copies of the least significant bits in excess lanes of the stream head register.