Cache-Aware Multi-Processor Bridge 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 access characteristics leads to increased CPU stall overhead and reduced memory throughput due to differing cache structures 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 management command to load data into cache memory before instruction execution, and formatting commands for cache controllers to optimize memory access and reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the interconnect handles memory accesses in a serial fashion to guarantee data coherency, then data consistency is maintained, but memory throughput and bandwidth are reduced

Engineering Contradiction:
Improvedata coherencyVSAvoidmemory throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by identifying and allocating critical memory lines to CPU caches before they are actually needed for execution. The memory management command pre-loads critical data into the CPU cache, ensuring that when the CPU needs this data, it is already available, thus reducing stall overhead without requiring serial interconnect handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory management command is segmented into different types: critical line requests that require immediate CPU cache allocation and non-critical line requests that can be handled differently. This segmentation allows the system to prioritize CPU-critical data while maintaining overall memory throughput, resolving the contradiction between coherency and productivity.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If cache components issue cache allocate accesses to return critical line first, then CPU stall overhead is reduced, but other CPU's stall overhead increases and shared memory throughput decreases

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

Solution Approach 1:

The memory management command performs preliminary allocation of critical memory lines to specific CPU caches before the CPUs need the data. This advance preparation reduces CPU stall overhead by ensuring critical data is already cached, while the non-critical lines can be allocated later without impacting CPU performance, thus maintaining shared memory throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different quality levels of service to different memory lines based on their criticality. Critical lines receive immediate attention and are allocated to specific CPU caches with high priority, while non-critical lines receive standard service. This local differentiation reduces overall CPU stall overhead without significantly impacting shared memory throughput.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If heterogeneous components with different cache structures access shared resources, then system functionality is enhanced, but access latency and complexity increase

Engineering Contradiction:
Improvesystem functionalityVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory management command provides a universal interface that works across heterogeneous components with different cache structures. By using a standardized command format that can specify criticality and target CPU, the system achieves multi-functionality without increasing access latency or complexity for individual components.

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

Data Source

PatentUS11099993B2Multi-processor bridge with cache allocate awareness
Publication Date: 2021.08.24 TEXAS INSTRUMENTS INC
  • US11099993B2 patent drawing
  • US11099993B2 patent drawing
  • US11099993B2 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.