Cache Memory Line Fill Termination for Interrupt Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In embedded computer systems, the variability in interrupt latency can be significant due to cache memory operations, leading to unpredictable processor response times, which can result in system failures even with short average latency.

Innovation Solution

The system configures the data processor and cache memory subsystem to receive interrupt indications simultaneously, allowing the cache memory subsystem to prepare for interrupt-related requests by terminating cache line fills in response to interrupt indications, thereby reducing latency variation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the cache memory subsystem completes filling a cache line before beginning another operation, then cache memory consistency is maintained, but interrupt latency increases when a cache line fill is in progress

Engineering Contradiction:
Improvecache memory consistencyVSAvoidinterrupt latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache memory subsystem receives the interrupt indication before the processor and begins preparing for the interrupt in advance. This preliminary action allows the cache to terminate ongoing cache line fills and be ready for interrupt-related memory requests, reducing the actual interrupt latency when the processor needs to handle the interrupt.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache memory subsystem dynamically adjusts its operation based on the interrupt indication. When an interrupt is detected, the cache changes from completing cache line fills to terminating them and preparing for interrupt handling. This dynamic behavior allows the system to prioritize interrupt responses while maintaining cache consistency when interrupts are not present.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the processor waits for cache line fill completion before executing interrupt handler code, then cache memory operations are completed properly, but interrupt response time increases

Engineering Contradiction:
Improvecache operation completionVSAvoidinterrupt response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache memory subsystem performs preliminary actions by receiving and processing the interrupt indication before the processor. This allows the cache to terminate any ongoing cache line fills and be ready for the interrupt-related memory requests, so the processor does not need to wait for cache operations when handling interrupts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The interrupt indication processing is extracted from the processor and handled separately by the cache memory subsystem. This separation allows the cache to prepare for interrupts independently, removing the dependency of interrupt response on cache line fill completion and reducing interrupt latency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of time

If the cache memory subsystem terminates a cache line fill in response to an interrupt indication, then interrupt latency is reduced, but cache memory consistency may be affected

Engineering Contradiction:
Improveinterrupt latencyVSAvoidcache memory consistency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The cache memory subsystem receives the interrupt indication and terminates cache line fills in advance, before the processor needs to execute interrupt handler code. This preliminary termination reduces interrupt latency while maintaining consistency because the cache is prepared for the interrupt request without completing unnecessary cache line fills.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10120819B2System and method for cache memory line fill using interrupt indication
Publication Date: 2018.11.06 NXP USA INC
  • US10120819B2 patent drawing
  • US10120819B2 patent drawing
  • US10120819B2 patent drawing

AI summary

An embedded computer system includes a processor, an interrupt source, an interrupt controller and a cache memory subsystem. In response to a request from the processor to read a data element, the cache memory subsystem fills cache lines in a cache memory with data elements read from an upper-level memory. While filling a cache line the cache memory subsystem is unable to respond to a second request from the processor which also requires a cache line fill. In response to receiving an indication from an interrupt source, the interrupt controller provides an indication substantially simultaneously to the processor and to the cache memory subsystem. In response to receiving the indication from the interrupt controller, the cache memory subsystem terminates a cache line fill and prepares to receive another request from the processor.