DSP Streaming Engine Architecture for Memory Latency Hiding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern digital signal processors face challenges such as increasing workloads, memory system latency, and limited bandwidth, which are exacerbated by the complexity of systems on a chip and the in-order nature of central processing units, leading to subpar performance and scalability issues.

Innovation Solution

The integration of a streaming engine with vector support, scoreboarded loads, speculative loads, and software-directed prefetch, along with a credit-based bidirectional bus protocol, enables efficient data transfer and coherence maintenance, allowing for improved bus utilization and memory system latency hiding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the bus width and clock rate are increased to increase bandwidth, then bandwidth is improved, but wire count and routing complexity increase

Engineering Contradiction:
ImprovebandwidthVSAvoidrouting complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the memory interface into multiple independent channels (e.g., 4 channels of 64-bit width instead of one 256-bit channel), allowing bandwidth scaling without proportionally increasing routing complexity. Each channel can be routed independently through the interconnect fabric, distributing the bandwidth demand across multiple manageable paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a time dimension to bandwidth by implementing pipelined memory operations and asynchronous transfer protocols. Multiple transfers can occur in parallel across different channels and memory banks, effectively increasing throughput without requiring a single ultra-wide bus that would create routing nightmares.

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

2Loss of time

If deeper buffering is implemented to hide memory latency, then memory latency is reduced, but device complexity increases

Engineering Contradiction:
Improvememory latencyVSAvoidbuffering complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements hardware prefetchers that proactively load data into buffers before it is actually needed by the processor. Multiple prefetch queues maintain data ahead of time, hiding memory latency without requiring excessively deep buffers. The prefetcher uses address pattern recognition to predict future memory accesses and pre-fetch relevant data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intelligent memory management unit (MMU) and cache controller that act as intermediaries between the processor and memory system. These components manage buffer contents, perform address translation, and coordinate data movement, reducing the burden on the processor while effectively hiding memory latency through sophisticated buffer management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If separate busses are used for demand traffic, DMA traffic and snoop traffic, then traffic isolation is improved, but bus utilization decreases

Engineering Contradiction:
Improvetraffic isolationVSAvoidbus utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system merges multiple traffic types (demand, DMA, snoop) onto shared memory channels with intelligent arbitration. Instead of dedicated busses for each traffic type, the patent implements a credit-based arbitration scheme that allows different traffic types to share the same physical channels while maintaining isolation through virtual channels and priority schemes, thereby improving bus utilization without sacrificing traffic isolation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory interconnect implements dynamic resource allocation where channel bandwidth is allocated based on current traffic demands and priorities. The arbitration logic adapts in real-time to changing workload conditions, dynamically adjusting which traffic types receive access to which channels, thus optimizing overall bus utilization while maintaining necessary traffic isolation when required.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11036648B2Highly integrated scalable, flexible DSP megamodule architecture
Publication Date: 2021.06.15 TEXAS INSTRUMENTS INC
  • US11036648B2 patent drawing
  • US11036648B2 patent drawing
  • US11036648B2 patent drawing

AI summary

Disclosed embodiments include a data processing apparatus having a processing core, a memory, and a streaming engine. The streaming engine is configured to receive a plurality of data elements stored in the memory and to provide the plurality of data elements as a data stream to the processing core, and includes an address generator to generate addresses corresponding to locations in the memory, a buffer to store the data elements received from the locations in the memory corresponding to the generated addresses, and an output to supply the data elements received from the memory to the processing core as the data stream.