Interrupt Controller Temporal Proximity Coalescing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current interrupt controllers in microprocessors and microcontrollers handle all interrupts as if they are critical, leading to inefficiencies due to frequent entering and exiting of interrupt service routines (ISRs) for low-priority interrupts, which consume processor time and prevent simultaneous handling of multiple interrupts.

Innovation Solution

The proposed interrupt controller employs a Temporal Proximity Interrupt Coalescing method using a counter and latency value register to create a time window for grouping and delaying the processing of interrupts, allowing for tail-chaining and coalescing of interrupts, thereby reducing overhead and enabling efficient handling of multiple interrupts through a single service routine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If frequent interrupts are handled immediately, then interrupt response time is improved, but processor overhead increases due to repeated ISR entry and exit

Engineering Contradiction:
Improveinterrupt response timeVSAvoidprocessor overhead
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent merges multiple frequent interrupt service routines into a single consolidated ISR. The interrupt controller accumulates multiple interrupt requests and services them together in one ISR execution, eliminating repeated entry and exit overhead while maintaining responsive handling of all interrupt sources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The interrupt controller performs preliminary accumulation and grouping of interrupt requests before triggering the ISR. By pre-processing and batching multiple interrupts together, the system prepares for efficient consolidated handling, reducing the frequency of ISR execution while ensuring all interrupts are captured and serviced.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple interrupts are handled sequentially in separate ISRs, then each interrupt is serviced individually, but processor time is consumed by repeated preamble and post-amble operations

Engineering Contradiction:
Improveinterrupt handling completenessVSAvoidprocessor efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple separate ISR execution sequences are merged into a single consolidated ISR. The controller combines the handling of multiple interrupt sources into one service routine execution, eliminating redundant preamble and post-amble operations while ensuring all interrupts are serviced completely.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If interrupt service routines are executed frequently, then interrupt sources are serviced promptly, but system performance degrades due to overhead

Engineering Contradiction:
Improveinterrupt service completenessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The interrupt controller performs preliminary accumulation of interrupt requests before triggering service. By batching multiple interrupts together and preparing them for consolidated handling, the system maintains complete service of all interrupt sources while reducing the frequency of ISR execution to improve overall system performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2092431B1Interrupt controller
Publication Date: 2021.05.05 MICROCHIP TECHNOLOGY INC
  • EP2092431B1 patent drawingFigure 1~2
  • EP2092431B1 patent drawingFigure 3
  • EP2092431B1 patent drawingFigure 4

AI summary

An interrupt controller has an interrupt register unit receiving a plurality of interrupt source signals, an interrupt detector coupled to the interrupt register unit, a counter unit coupled to the interrupt detector, wherein on the first occurrence of an interrupt source signal the counter unit defines a time window during which the interrupt register stores further interrupt source signals, and an interrupt request unit coupled to the counter unit for generating an interrupt request signal.