Interrupt Controller Rerouting for Fail-Operational Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing microprocessor systems lack safety functionality and fail to ensure uninterrupted handling of interrupts when a CPU becomes unavailable, particularly in safety-critical applications like automotive systems, as they typically shut down or halt processing tasks upon CPU failure.
Innovation Solution
An interrupt controller that routes interrupt requests between multiple processing units, allowing rerouting of interrupt service routines from an inactive processing unit to an active one, ensuring continuous execution of critical tasks through a monitoring unit and interrupt router, which operates independently of software control to minimize downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a CPU is shut down or halted when unavailable, then power consumption is reduced or faults are contained, but the handling of interrupts and processing tasks cannot be guaranteed
Solution Approach 1:
The system divides processing units into multiple independent CPUs (CPU1, CPU2, etc.), each capable of handling interrupts independently. The interrupt controller segments interrupt routing decisions, allowing different interrupts to be directed to different available CPUs based on current system state and priority levels.
Solution Approach 2:
The system dynamically changes the operational state of processing units between active and inactive modes. When a CPU becomes unavailable, the interrupt controller modifies routing parameters to redirect interrupts from the inactive CPU to active CPUs, maintaining interrupt handling capability while allowing individual CPUs to be shut down for power saving or fault containment.
2Use of energy by moving object
If a CPU is shut down to reduce power consumption, then energy efficiency improves, but tasks handled by the processing unit are suspended
Solution Approach 1:
The system pre-configures multiple processing units and establishes interrupt routing tables that identify alternative CPUs for each interrupt source. Before a CPU is shut down for power saving, the interrupt controller already has prepared routing information to redirect interrupts to other available CPUs, ensuring seamless transition without task suspension.
Solution Approach 2:
The interrupt controller acts as an intermediary between interrupt sources and processing units. It monitors the availability of CPUs and dynamically routes interrupts through itself to available processors, decoupling the shutdown decision from interrupt handling and allowing power-saving shutdowns without task loss.
3Productivity
If multiple processing units are used to redistribute load, then productivity improves, but safety functionality is lacking
Solution Approach 1:
The interrupt controller implements feedback mechanisms by monitoring the availability status of multiple CPUs and dynamically adjusting interrupt routing based on real-time system state. This feedback loop ensures that interrupts are always routed to available processors, providing both load distribution for improved productivity and fail-safe operation for enhanced reliability.
Solution Approach 2:
Multiple processing units are designed with universal capability to handle various types of interrupts. Each CPU can serve multiple interrupt sources, and the interrupt controller can route any interrupt to any available CPU based on current system needs, providing both load distribution and redundant fail-safe operation.
Data Source
AI summary
An interrupt controller for controlling processing of interrupt requests by a plurality of processing units. The processing units have at least two modes: an active mode and an inactive mode. The interrupt controller comprises a controller input, an interrupt router coupled to the controller input and a monitoring unit. The monitoring unit outputs a routing change signal to the interrupt router if it determines that a selected processing unit, to which, in response to a received interrupt request, an execution of an interrupt service routine was initially routed, is in inactive mode while a preselected one is in the active mode. The interrupt router reroutes the execution of the interrupt service routine to the preselected processing unit.


