Stall-Driven Multiprocessing with Shadow Contexts for L4 Cache Misses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multithreading techniques are inadequate in addressing the long latency penalties incurred by L4 cache misses in microprocessors, leading to significant performance losses due to high miss rates and prolonged access times in storage class memory.

Innovation Solution

Implementing stall-driven multiprocessing by switching to a pre-loaded successor process context upon detecting long-latency memory access events, concurrently unloading the predecessor process context and loading the successor context into shadowed local memory resources, thereby minimizing the impact of L4 cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional multithreading techniques are used to handle L4 cache misses, then processor can continue execution, but long latency penalties are incurred due to high miss rates and prolonged access times in storage class memory

Engineering Contradiction:
Improveprocessor execution efficiencyVSAvoidlatency penalty from L4 cache misses
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-loads context of a successor process into shadowed local memory resources (shadow register file, shadow TLB, shadow L1 cache) before the current process encounters an L4 cache miss. When the miss occurs, the processor can immediately switch to the pre-loaded successor context without waiting for memory access, thereby eliminating the latency penalty.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Shadowed local memory resources serve as an intermediary between the current process context and the storage class memory. These shadow resources hold pre-loaded context data, allowing the processor to switch processes without directly accessing the high-latency storage class memory, thus mediating the latency issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If process switching is implemented to avoid L4 cache miss latency, then execution can continue, but overhead of context switching increases

Engineering Contradiction:
Improvecontinuous execution capabilityVSAvoidcontext switching overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Context of the successor process is pre-loaded into shadowed local memory resources before switching is needed. This preliminary action ensures that when a process switch is triggered by an L4 cache miss, the successor context is already ready in fast local memory, minimizing the switching overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates shadow copies of local memory resources (register file, TLB, L1 cache) and pre-loads the successor process context into these shadow copies. This copying approach allows rapid context switching by simply switching between shadow and non-shadow resources, avoiding the need to transfer context data during the switch.

Inventive Principle:
Principle #26Copying

3Speed

If local memory resources are used to store process context, then access speed improves, but memory resources are consumed

Engineering Contradiction:
Improvecontext access speedVSAvoidlocal memory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system creates shadowed versions of only the critical local memory resources (register file, TLB, L1 cache) that are needed for rapid context switching, rather than duplicating the entire memory hierarchy. This selective shadowing provides fast context access while minimizing the additional memory resources consumed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system loads only the essential context information needed for process execution into the shadowed local memory resources, rather than copying entire process states. This partial action approach provides sufficient speed improvement for context switching while limiting the memory resource consumption to only what is necessary.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12379955B1Stall-driven multi-processing
Publication Date: 2025.08.05 RAMBUS INC
  • US12379955B1 patent drawing
  • US12379955B1 patent drawing
  • US12379955B1 patent drawing

AI summary

In a microprocessor having an instruction execution unit and first and second sets of process execution resources, context information for a process next-to-be-executed by the instruction execution unit is loaded into a register file, translation lookaside buffer and first-level data cache of the first set of process execution resources during a first interval. During the first interval and concurrently with the loading of context information for the process next-to-be executed, the instruction execution unit executes a current process, including accessing context information for the current process within the register file, translation lookaside buffer and first-level data cache of the second set of process execution resources.