Write Back Monitor Circuit for Multiprocessor Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiprocessor systems with cache memories face significant overhead and complexity in maintaining cache coherence, leading to processing delays and design errors due to the complexity of cache coherence circuits.

Innovation Solution

A multiprocessing system that employs a write back monitor circuit to buffer write addresses and allows processor cores to manage cache coherence through specific commands, reducing the need for overhead circuitry and enabling efficient data invalidation or updating, with optional synchronization to minimize cache coherence management instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a cache coherence circuit is used to maintain consistency between cache copies, then cache coherence is enforced, but circuit complexity and overhead increase significantly

Engineering Contradiction:
Improvecache coherenceVSAvoidcircuit overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the cache coherence management function from the hardware circuit domain and relocates it to the software domain. Instead of using a dedicated cache coherence circuit to automatically track and invalidate cache copies, the system uses a write back monitor circuit to buffer write addresses and relies on compiler-generated commands in the program to explicitly manage cache invalidation. This extraction of the coherence management function from hardware to software dramatically reduces circuit complexity while maintaining coherence reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If a cache coherence circuit is used to track updated data addresses, then consistency is maintained, but processing delays increase due to circuit complexity

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a self-service mechanism where the program itself is responsible for managing its own cache coherence. The write back monitor circuit provides a service by buffering write addresses and making them available to the program via read commands, but the actual coherence enforcement is performed by the program executing coherence management instructions generated by the compiler. This self-service approach eliminates the need for complex real-time hardware arbitration and tracking circuits, thereby reducing processing delays while maintaining data consistency.

Inventive Principle:
Principle #25Self-service

3Reliability

If dedicated instruction cycles are allocated for cache coherence management, then coherence is enforced, but productivity decreases due to lost instruction cycles

Engineering Contradiction:
Improvecache coherence enforcementVSAvoidinstruction cycle utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent makes the processor instruction cycles multi-functional by using them for both regular program execution and cache coherence management. The compiler generates regular program instructions that also serve as coherence management commands when executed. The write back monitor circuit buffers write addresses and makes them available during normal instruction execution flow, allowing coherence management to be integrated into the regular instruction cycle rather than requiring separate dedicated coherence management cycles. This universality allows the same instruction cycles to accomplish both computation and coherence enforcement.

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

Data Source

PatentUS8578104B2Multiprocessor system with mixed software hardware controlled cache management
Publication Date: 2013.11.05 NEX-X SILICON LLC
  • US8578104B2 patent drawing
  • US8578104B2 patent drawing
  • US8578104B2 patent drawing

AI summary

A multiprocessor system has a background memory and a plurality of processing elements, each comprising a processor core and a cache circuit. The processor cores execute programs of instructions and the cache circuits cache background memory data accessed by the programs. A write back monitor circuit is used to buffer write addresses used for writing data by at least part of the processor cores. The programs contain commands to read the buffered write back addresses from the write back monitor circuit and commands from the programs to invalidate cached data for the write back addresses read by the commands to read the buffered write back addresses. Thus cache management is performed partly by hardware and partly by the program that uses the cache. The processing core may be a VLIW core, in which case instruction slots that are not used by the program can be made useful to include instructions for cache management.