Multi-Processor Bridge Cache Allocation for Coherent Memory Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, the heterogeneity of processor components and memory structures leads to increased CPU stall overhead and reduced memory throughput due to differing cache sizes and access latencies, making it challenging to maintain data coherency and maximize shared memory bandwidth.

Innovation Solution

A multi-core processing system with a shared memory controller that manages traffic between processor cores and external memories, using a memory controller with circuitry to format memory management commands for cache loading before instruction execution, and employing a data routing unit for virtual address translation and cache prewarming to optimize memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the interconnect handles accesses in a serial fashion to guarantee atomicity and data consistency, then data coherency is maintained, but the interconnect becomes the access bottleneck reducing memory throughput

Engineering Contradiction:
Improvedata coherencyVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The interconnect is segmented into multiple independent channels (first interconnect channel and second interconnect channel) that can operate in parallel. Cache allocate accesses from different CPUs are routed through different channels, allowing simultaneous processing of multiple memory access requests while maintaining data coherency through coordinated channel operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary routing decisions at the interconnect level, directing cache allocate accesses to appropriate channels based on CPU identification before the accesses reach the coherence interconnect. This preliminary action enables parallel processing while ensuring that coherence requirements are met through pre-planned access paths.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If cache components issue cache allocate accesses with critical line first requests to un-stall the CPU, then CPU stall overhead is reduced, but other CPU's stall overhead increases and shared memory throughput decreases if memory access types and sizes are not considered

Engineering Contradiction:
ImproveCPU stall overheadVSAvoidshared memory throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The interconnect channels are configured with different characteristics optimized for different access types. The first channel is optimized for cache allocate accesses with critical line first requests, while the second channel handles other memory access types. This local quality differentiation allows each channel to efficiently handle its specific access type without interfering with the other, reducing overall CPU stall overhead while maintaining shared memory throughput.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically routes cache allocate accesses based on CPU identification and access characteristics. The routing logic adapts to the specific needs of each CPU and access type, directing appropriate accesses to the first channel for rapid fulfillment while allowing other accesses to use the second channel, thereby optimizing both CPU stall reduction and shared memory throughput simultaneously.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If all components had the same cache structure and accessed shared resources through cache transactions, then all accesses would be identical and aligned with cache block boundaries, but this would not accommodate heterogeneous system components with different cache sizes and access requirements

Engineering Contradiction:
Improveaccess uniformityVSAvoidcomponent heterogeneity support
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The interconnect system provides universal handling of multiple access types through its multi-channel architecture. It can simultaneously handle cache allocate accesses, regular memory accesses, and other types of memory transactions through different channels, each optimized for specific access patterns. This universality allows the system to accommodate heterogeneous components with different cache structures while maintaining efficient access paths for each component type.

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

Solution Approach 2:

The multi-channel interconnect acts as an intermediary between heterogeneous system components and the shared memory system. It translates and routes accesses from components with different cache characteristics through appropriate channels, mediating between the diverse access requirements of CPU, DSP, and other components and the unified memory system, thereby supporting component heterogeneity while maintaining access efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11907528B2Multi-processor bridge with cache allocate awareness
Publication Date: 2024.02.20 TEXAS INSTRUMENTS INC
  • US11907528B2 patent drawing
  • US11907528B2 patent drawing
  • US11907528B2 patent drawing

AI summary

Techniques for loading data, comprising receiving a memory management command to perform a memory management operation to load data into the cache memory before execution of an instruction that requests the data, formatting the memory management command into one or more instruction for a cache controller associated with the cache memory, and outputting an instruction to the cache controller to load the data into the cache memory based on the memory management command.