Shared Victim Cache Lines in Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessor architectures face challenges in improving performance while reducing power consumption and cost, particularly in multiple core processors where cache memory integration leads to increased transistor usage and latency issues due to the need for separate caches for each core.

Innovation Solution

Implementing a processor architecture where victim lines from a full cache memory of one processor core can be stored in the cache memory of another processor core, reducing the need for higher-level caches and minimizing latency by allowing direct data transfer between cores, with logic to evaluate cache priority rules for efficient data management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate L1 and L2 caches are provided for each processor core, then each core can access cache memory independently, but the number of transistors increases and power consumption increases

Engineering Contradiction:
Improvecache access independenceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent merges cache memory resources across multiple processor cores by allowing cores to share victim lines in each other's L1 caches. Instead of each core having dedicated separate caches, the system enables cooperative caching where cores can store evicted data in neighboring cores' cache memory, thereby reducing the total number of transistors required while maintaining cache access independence through the sharing mechanism.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If separate L1 and L2 caches are provided for each processor core, then cache access independence is maintained, but device complexity increases

Engineering Contradiction:
Improvecache access independenceVSAvoidcache structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements universality by enabling L1 cache memory to serve multiple functions: it acts as the primary cache for its associated core while also serving as a potential storage location for victim lines from other cores. This multi-functional approach reduces the need for separate dedicated caches for each core, thereby reducing device complexity while maintaining the ability for independent cache access through the shared victim line mechanism.

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

3Reliability

If victim lines are written back to system memory or higher-level cache, then cache coherence is maintained, but latency increases

Engineering Contradiction:
Improvecache coherenceVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary mechanism where neighboring processor cores act as intermediate storage for victim lines. Instead of immediately writing victim lines back to system memory or higher-level cache (which introduces latency), the system uses other cores' L1 cache memory as an intermediate destination. This intermediary approach maintains cache coherence while reducing latency by leveraging the fast inter-core communication path and available cache space in neighboring cores.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8725950B2Horizontally-shared cache victims in multiple core processors
Publication Date: 2014.05.13 MIPS TECH INC
  • US8725950B2 patent drawing
  • US8725950B2 patent drawing
  • US8725950B2 patent drawing

AI summary

A processor includes multiple processor core units, each including a processor core and a cache memory. Victim lines evicted from a first processor core unit's cache may be stored in another processor core unit's cache, rather than written back to system memory. If the victim line is later requested by the first processor core unit, the victim line is retrieved from the other processor core unit's cache. The processor has low latency data transfers between processor core units. The processor transfers victim lines directly between processor core units' caches or utilizes a victim cache to temporarily store victim lines while searching for their destinations. The processor evaluates cache priority rules to determine whether victim lines are discarded, written back to system memory, or stored in other processor core units' caches. Cache priority rules can be based on cache coherency data, load balancing schemes, and architectural characteristics of the processor.