Scalable DSP Megamodule Streaming Engine for Bandwidth Routing Limits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern digital signal processors face challenges such as increasing workloads, memory system latency, and scalability issues due to limited bandwidth and cache overhead, as well as difficulties in routing and integrating with general-purpose operating systems, leading to subpar performance and software complexity.

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, allows for efficient data transfer and coherence maintenance, enabling better utilization of wires and cache resources, and improved memory system latency hiding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

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

Engineering Contradiction:
Improveprocessor bandwidthVSAvoidwire routing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the monolithic high-bandwidth bus into multiple lower-width busses operating in parallel. Each core has dedicated L1 caches with direct access to L2 RAM, eliminating the need for a single wide bus. This segmentation reduces wire routing complexity while maintaining aggregate bandwidth through parallel data paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical memory dimension with L1 and L2 caches between the CPU cores and main memory. This dimensional addition allows data to be cached closer to the cores, reducing the need for high-speed wide busses to main memory and thereby reducing routing complexity while maintaining effective bandwidth for frequently accessed data.

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

2Productivity

If more wires are used to increase bandwidth, then the data transfer capacity is improved, but the routing issues and latency increase

Engineering Contradiction:
Improvedata transfer capacityVSAvoidrouting latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the data transfer path into segmented hierarchical levels: L1 caches provide fast local access, L2 RAM provides intermediate buffering, and main memory provides bulk storage. This segmentation allows data to be transferred through optimized paths at each level, reducing overall latency while maintaining high transfer capacity through parallel operations across multiple cores and memory controllers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements prefetching mechanisms that load data into L1 and L2 caches before it is actually needed by the CPU cores. This preliminary action reduces latency by having data ready in faster memory layers before the cores need it, effectively hiding memory access delays without requiring wider busses.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If deeper buffering is implemented to hide memory latency, then the memory access efficiency is improved, but the device complexity increases

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

Solution Approach 1:

The patent segments the buffering function across two distinct hierarchical levels: L1 caches (32KB per core) for immediate local buffering and L2 RAM (2MB total) for larger intermediate buffering. This segmentation distributes the buffering complexity across multiple manageable components rather than requiring a single large complex buffer, while effectively hiding memory latency through the hierarchical structure.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If the CPU operates in-order to simplify control, then the control logic is simplified, but the ability to hide cache latency is reduced

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidcache latency penalty
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements hardware prefetchers that operate independently of the in-order CPU execution. These prefetchers proactively load data into the cache hierarchy before the CPU needs it, allowing the simple in-order CPU to effectively hide latency by having data ready when needed without requiring complex out-of-order execution logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9606803B2Highly integrated scalable, flexible DSP megamodule architecture
Publication Date: 2017.03.28 TEXAS INSTRUMENTS INC
  • US9606803B2 patent drawing
  • US9606803B2 patent drawing
  • US9606803B2 patent drawing

AI summary

This invention addresses implements a range of interesting technologies into a single block. Each DSP CPU has a streaming engine. The streaming engines include: a SE to L2 interface that can request 512 bits/cycle from L2; a loose binding between SE and L2 interface, to allow a single stream to peak at 1024 bits/cycle; one-way coherence where the SE sees all earlier writes cached in system, but not writes that occur after stream opens; full protection against single-bit data errors within its internal storage via single-bit parity with semi-automatic restart on parity error.