Coprocessor Cache Invalidation Without Remote Instruction Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor implementations face challenges in securely and efficiently invalidating data in remote caches, particularly in coprocessors that are not managed by coherence circuitry, leading to potential security risks and performance issues.

Innovation Solution

A primary processor executes a remote invalidate instruction to directly command a coprocessor's invalidation control circuitry to invalidate cache lines at fine granularity, bypassing execution on the coprocessor, ensuring secure and efficient cache line-level invalidation without executing instructions on the coprocessor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based invalidation is used in coprocessor caches, then invalidation can be performed, but security risks and performance issues arise

Engineering Contradiction:
Improvecache invalidation securityVSAvoidcache invalidation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based invalidation mechanisms with hardware-based invalidation control circuitry. The primary processor sends invalidate commands directly to the coprocessor's invalidation control circuitry, which automatically invalidates cache lines without requiring software execution. This hardware substitution eliminates security vulnerabilities associated with software-based approaches while improving invalidation performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces an invalidation control circuitry as an intermediary component between the primary processor and the coprocessor cache. This intermediary receives invalidate commands from the primary processor and directly manages cache line invalidation in the coprocessor, eliminating the need for software-based coordination and reducing both security risks and performance overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If coarse-grained cache invalidation is performed, then implementation is simpler, but interference with other cached data increases and performance decreases

Engineering Contradiction:
Improveinvalidation control complexityVSAvoidcache utilization performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements fine-grained cache invalidation by dividing the cache invalidation process into individual cache line segments. The invalidation control circuitry receives invalidate commands that specify particular cache line addresses and only invalidates those specific lines rather than flushing the entire cache. This segmentation allows precise control over which data is invalidated, minimizing interference with other cached data and maintaining high cache utilization performance.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If coprocessor executes invalidation instructions, then invalidation can be performed, but execution time and performance overhead increase

Engineering Contradiction:
Improveinvalidation operation capabilityVSAvoidinvalidation execution time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements a self-service invalidation mechanism where the coprocessor's invalidation control circuitry automatically handles cache line invalidation without requiring the coprocessor to execute instructions. The primary processor sends invalidate commands directly to the invalidation control circuitry, which autonomously performs the invalidation operation. This eliminates the time overhead associated with instruction fetch, decode, and execution while maintaining the ability to perform targeted invalidation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20260056885A1Remote Cache Invalidation
Publication Date: 2026.02.26 APPLE INC
  • US20260056885A1 patent drawing
  • US20260056885A1 patent drawing
  • US20260056885A1 patent drawing

AI summary

Techniques are disclosed relating to performing remote cache invalidations. In some embodiments, primary processor circuitry is configured to, based on execution of a remote invalidate instruction (e.g., an ISA-defined instruction), send a cache invalidate command to coprocessor circuitry. The coprocessor circuitry includes coprocessor cache circuitry and cache invalidation control circuitry configured to, in response to the cache invalidate command sent by the primary processor, invalidate one or more cache lines in the coprocessor cache circuitry without executing any instructions on the coprocessor circuitry.