Unified Caching Agent for CPU and IO Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, integrating an IO component with the CPU leads to scaling issues due to the need for multiple caching agents, which degrades performance as the number of sockets increases, as traditional IO integration treats IO components as separate caching agents, resulting in increased complexity and overhead.

Innovation Solution

Integrating an IO agent into a multicore processor socket, where a combined CPU caching agent supports both CPU and IO traffic, reducing the number of caching agents and eliminating the need for separate IO caching agents by acting as an interface for off-chip peripheral devices via PCIe links, thereby enhancing performance and reducing bandwidth consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If an IO component is integrated into the CPU die, then the bill of material cost is reduced and form factor is reduced, but the number of caching agents increases which degrades performance

Engineering Contradiction:
Improvebill of material costVSAvoidperformance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent merges the IO caching agent functionality into the existing CPU caching agent structure. The CPU caching agent is enhanced to handle both CPU cache operations and IO cache operations through a unified architecture, eliminating the need for separate IO caching agents. This merging reduces the total number of caching agents from 16 in an 8-socket system to a reduced number, thereby improving performance while maintaining the integrated IO component benefits.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The CPU caching agent is designed with multi-functionality to serve dual purposes: handling CPU cache coherence operations and IO cache operations. The caching agent includes shared cache structures that can be accessed by both CPU cores and IO components, allowing a single agent to perform multiple functions that traditionally required separate dedicated agents.

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

2Reliability

If traditional IO integration treats IO component as separate caching agent, then cache coherency can be maintained, but system scaling becomes difficult and performance degrades

Engineering Contradiction:
Improvecache coherencyVSAvoidnumber of caching agents
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines the caching agent responsibilities for CPU and IO components into a single unified caching agent. This merging maintains cache coherency by implementing a coherent cache architecture where the unified agent manages coherence protocols for both CPU and IO accesses, eliminating the complexity of coordinating multiple separate agents across sockets.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified CPU caching agent acts as an intermediary that mediates between CPU cores and IO components for cache access. It provides a single point of coordination for cache coherence operations, simplifying the system architecture by reducing multiple intermediary agents to one that handles all coherence bookkeeping for the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple separate caching agents are used for CPU and IO, then cache coherency operations can be handled independently, but snoop traffic increases and bandwidth consumption increases

Engineering Contradiction:
Improvecache coherency operationsVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

By merging CPU and IO caching operations into a single caching agent, the patent eliminates duplicate snooping operations. Instead of having separate agents each performing snoops, the unified agent performs snoops once for the combined CPU and IO cache structures, significantly reducing snoop traffic and associated bandwidth consumption while maintaining coherent cache operations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9575895B2Providing common caching agent for core and integrated input/output (IO) module
Publication Date: 2017.02.21 DAEDALUS PRIME LLC
  • US9575895B2 patent drawing
  • US9575895B2 patent drawing
  • US9575895B2 patent drawing

AI summary

In one embodiment, the present invention includes a multicore processor having a plurality of cores, a shared cache memory, an integrated input/output (IIO) module to interface between the multicore processor and at least one IO device coupled to the multicore processor, and a caching agent to perform cache coherency operations for the plurality of cores and the IIO module. Other embodiments are described and claimed.