DSP Streaming Engine Operand Coding for Low-Latency Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 for real-time data processing, particularly in systems on a chip (SOC) with complex algorithms and unreliable memories.

Innovation Solution

A streaming engine is employed in a digital signal processor to manage fixed data streams by storing parameters in a control register, using a first-in-first-out buffer to supply data to functional units in a fixed order, and employing read-only and read/advance operand codings to control data access, allowing reuse without temporary storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional memory access methods are used for real-time data processing, then data can be accessed from memory, but memory bandwidth is insufficient and memory system latency severely impacts processing speed

Engineering Contradiction:
Improvedata processing speedVSAvoidmemory system latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the data stream processing into distinct phases: fetching data elements from memory into a stream buffer, holding multiple data elements in the buffer, and then presenting them to the functional unit in sequence. This segmentation allows memory access to be decoupled from processing, hiding memory latency behind the buffer while maintaining high processing speed through pipelined operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The stream buffer pre-fetches and stores multiple data elements from memory before they are needed by the functional unit. This preliminary action of loading data into the buffer in advance allows the functional unit to continue processing without waiting for memory access, thereby reducing the impact of memory system latency on overall processing speed.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is fetched from memory for processing, then data can be supplied to functional units, but memory bandwidth limitations restrict the amount of data that can be processed

Engineering Contradiction:
Improvedata processing throughputVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The stream buffer acts as an intermediary between memory and the functional unit. It decouples the memory access rate from the processing rate by storing multiple data elements in advance, allowing the functional unit to operate at its maximum throughput without being constrained by memory bandwidth limitations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent introduces a temporal dimension to data access by allowing the stream buffer to hold multiple data elements across multiple clock cycles. This transforms the traditional single-cycle memory access model into a multi-cycle buffering model, enabling higher throughput by overlapping memory access with processing operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If data streams are processed in fixed order from memory, then real-time processing requirements are met, but address generation and memory access become difficult

Engineering Contradiction:
Improvereal-time processing guaranteeVSAvoidaddress generation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The stream buffer automatically generates sequential addresses for data elements in the stream and manages the buffering and presentation of data to the functional unit. This self-service capability eliminates the need for complex address generation logic in the main processor, simplifying the overall system while ensuring reliable real-time processing through automated address sequencing.

Inventive Principle:
Principle #25Self-service

4Productivity

If data elements are reused by functional units, then processing efficiency improves, but temporary storage in registers is required which consumes resources

Engineering Contradiction:
Improvedata reuse efficiencyVSAvoidregister file usage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The stream buffer serves multiple functions: it acts as a data source for the functional unit, provides temporary storage for data elements to be processed, and enables data reuse without requiring additional register file resources. This multi-functional design allows efficient data reuse while conserving register file resources for other purposes.

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

Data Source

PatentUS20250328349A1Data processing apparatus having streaming engine with read and read/advance operand coding
Publication Date: 2025.10.23 TEXAS INSTRUMENTS INC
  • US20250328349A1 patent drawing
  • US20250328349A1 patent drawing
  • US20250328349A1 patent drawing

AI summary

A streaming engine employed in a digital signal processor specified a fixed data stream. Once started the data stream is read only and cannot be written. Once fetched, the data stream is stored in a first-in-first-out buffer for presentation to functional units in the fixed order. Data use by the functional unit is controlled using the input operand fields of the corresponding instruction. A read only operand coding supplies the data an input of the functional unit. A read/advance operand coding supplies the data and also advances the stream to the next sequential data elements. The read only operand coding permits reuse of data without requiring a register of the register file for temporary storage.