Two-Level Interrupt Service Routine for Processor Delay Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional interrupt handling in processors experiences delays due to the need to transfer ISR address information via a system bus, leading to inefficiencies and increased error likelihood, as each Second-Level Interrupt Handler (SLIH) routine contains duplicative common first-level interrupt handling code.

Innovation Solution

A processor with an interrupt handler that stores an interrupt identifier and executes a common Interrupt Service Routine (ISR) before initiating a device-specific SLIH routine, allowing for efficient interrupt servicing by recognizing interrupt requests, saving identifiers, and executing FLIH routines before SLIH routines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ISR address information is transferred via system bus, then the system bus can be used for general purposes, but interrupt service delay increases

Engineering Contradiction:
Improvesystem bus utilizationVSAvoidinterrupt service delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-loads ISR address information into dedicated buffer registers within the processor before interrupt requests occur. This preliminary action allows the processor to immediately access ISR addresses without waiting for system bus transfers when interrupts are asserted, thereby reducing interrupt service delay while maintaining system bus availability for other operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If SLIH routines contain duplicative FLIH code, then each routine can operate independently, but code complexity and error likelihood increase

Engineering Contradiction:
Improveindependent routine operationVSAvoidcode duplicative complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments interrupt handling functionality into two distinct parts: a common First-Level Interrupt Handler (FLIH) routine containing shared initialization and processing code, and device-specific Second-Level Interrupt Handler (SLIH) routines that only contain device-specific logic. This segmentation eliminates code duplication while maintaining independent operation of each SLIH routine through controlled entry points and parameter passing mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges common interrupt handling functionality into a single shared FLIH routine that is invoked by all interrupt sources. This consolidation eliminates redundant code across multiple SLIH routines while preserving their independence through a standardized interface. The FLIH routine handles common tasks such as saving processor state, validating interrupt requests, and coordinating with the interrupt controller, thereby reducing overall code complexity and error likelihood.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If processor immediately initiates SLIH routine without FLIH, then interrupt response time is reduced, but code portability decreases

Engineering Contradiction:
Improveinterrupt response timeVSAvoidcode portability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary actions within the FLIH routine that are essential for proper interrupt handling, such as saving processor context, configuring interrupt masks, and initializing common data structures. These preliminary actions are executed once for all interrupts, allowing subsequent SLIH routines to focus solely on device-specific processing. This approach maintains fast response times while improving code portability through standardized initialization sequences that can be adapted to different architectures.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7424563B2Two-level interrupt service routine
Publication Date: 2008.09.09 QUALCOMM INC
  • US7424563B2 patent drawing
  • US7424563B2 patent drawing
  • US7424563B2 patent drawing

AI summary

A processor provides two-level interrupt servicing. In one embodiment, the processor comprises a storage device and an interrupt handler. The storage device is configured to store an interrupt identifier corresponding to an interrupt request. The interrupt handler is configured to recognize the interrupt request, initiate a common interrupt service routine responsive to recognizing the interrupt request and subsequently initiate an interrupt service routine corresponding to the stored interrupt identifier.