Automatic Interrupt Handling for Processor Context Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current interrupt handling mechanisms in computer processing environments are inefficient, consuming a large number of processor cycles and reducing availability of resources due to the time-consuming process of context switching during interrupt service routines.

Innovation Solution

A processing system with an interrupt pin, multiple registers, and an automatic interrupt system that detects interrupts, fetches an interrupt vector, updates the stack pointer, and reads processor state values in parallel to store them in memory before executing the interrupt service routine, thereby reducing the overhead of context switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional interrupt service routine execution is used, then the interrupt can be serviced, but the processor consumes a large number of cycles performing context switching, reducing availability for other program functions

Engineering Contradiction:
Improveinterrupt handling correctnessVSAvoidprocessor cycle consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-positioning interrupt handler code at a fixed memory location and pre-organizing processor state registers. When an interrupt occurs, the system automatically jumps to the pre-prepared interrupt handler address and automatically saves processor state to predetermined memory locations, eliminating the time-consuming steps of calculating handler addresses and dynamically managing stack pointers during interrupt service.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the interrupt service routine flushes the processor pipeline and saves numerous state registers, then the processor state is preserved, but the time consumed decreases availability of processor resources

Engineering Contradiction:
Improveprocessor state preservationVSAvoidprocessor resource availability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent extracts the context switching overhead from the interrupt service routine execution path. By separating the automatic state saving function into a dedicated hardware-managed mechanism that stores processor state in fixed memory locations independent of the interrupt handler execution, the system preserves necessary processor state while allowing the interrupt handler to execute efficiently without embedded save/restore instructions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If manual context switching is performed during interrupt service, then the interrupt can be handled, but the complex sequence of saving state, flushing pipeline, and restoring context reduces efficiency

Engineering Contradiction:
Improveinterrupt service completenessVSAvoidcontext switching mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the processor to automatically perform context switching operations without software intervention. The hardware automatically saves processor state to fixed memory locations, manages the interrupt handler execution, and restores state upon completion, eliminating the need for software to manually implement save/restore sequences and reducing the complexity of interrupt handling code.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8392644B2System and method for automatic hardware interrupt handling
Publication Date: 2013.03.05 ARM FINANCE OVERSEAS LTD
  • US8392644B2 patent drawing
  • US8392644B2 patent drawing
  • US8392644B2 patent drawing

AI summary

A processing system is provided consisting of an interrupt pin, multiple registers, a stack pointer, and an automatic interrupt system. The multiple registers store a number of processor states values. When the system detects an interrupt on the interrupt pin the system prepares to enter an exception mode where the automatic interrupt system causes an interrupt vector to be fetched, the stack pointer to be updated, and the processor state values to be read in parallel from the registers and stored in memory locations based on the updated stack pointer, prior to the execution of an interrupt service routine. A method for automatic hardware interrupt handling is also presented.