Coprocessor Interrupt Deadlock Avoidance via State Retention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processor systems with coprocessors, interrupt processing during coprocessor instruction execution can lead to deadlock situations due to resource mismatches, particularly when address generation parameters need to be reset, complicating control programs and reducing processing efficiency.

Innovation Solution

A deadlock avoidance method that involves issuing a cancellation request for the coprocessor instruction, determining its execution state, and either canceling or suspending it, allowing immediate interrupt processing to reset and restore the execution state, thereby avoiding deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt processing is executed after waiting for coprocessor instruction to end, then resource mismatch is avoided, but deadlock occurs and processing efficiency decreases

Engineering Contradiction:
Improveresource mismatch avoidanceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by saving the execution state of the coprocessor instruction before interrupt processing begins. This allows the interrupt to be handled immediately without waiting for the coprocessor instruction to complete, while the saved state ensures resource mismatch is prevented when the instruction is resumed or canceled.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the handling of coprocessor instructions based on the cancellation request. By determining whether to cancel or suspend the instruction and managing execution states flexibly, the system can immediately process interrupts while maintaining resource consistency, resolving the deadlock situation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If coprocessor instruction execution is continued until completion, then resource mismatch is prevented, but deadlock situation arises and processing efficiency is reduced

Engineering Contradiction:
Improveresource consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The execution state is saved in advance before interrupt processing starts. This preliminary action enables the system to immediately handle interrupts without delaying them until the coprocessor instruction completes, while the saved state ensures resource consistency is maintained when the instruction is resumed or canceled.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts the execution state information from the ongoing coprocessor instruction and separates it into a saved state that can be independently managed. This allows the interrupt processing to proceed independently without blocking, while the extracted state information ensures resource consistency when the original instruction is resumed.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If data transfer parameter is reset during coprocessor instruction execution, then address generation is updated, but control program becomes complicated and deadlock may occur

Engineering Contradiction:
Improveaddress generation flexibilityVSAvoidcontrol program complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The execution state is saved before the parameter reset operation begins. This allows the data transfer parameter to be reset during coprocessor instruction execution without complicating the control program, as the saved state ensures that resource mismatches are prevented when the instruction is resumed or canceled.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The saved execution state acts as an intermediary that mediates between the interrupt processing and the coprocessor instruction. It allows the data transfer parameter to be reset flexibly while maintaining resource consistency, simplifying the control program by providing a clear mechanism for state management during parameter changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9405549B2Deadlock avoidance method and deadlock avoidance mechanism
Publication Date: 2016.08.02 NEC CORP
  • US9405549B2 patent drawing
  • US9405549B2 patent drawing
  • US9405549B2 patent drawing

AI summary

A processor core interrupt control circuit issues a request signal for requesting cancellation of a coprocessor instruction being executed at a coprocessor. A program control circuit issues interrupt processing after issuance of the cancellation request. A coprocessor computation control circuit retains the execution state of the coprocessor instruction. Upon receiving the processing cancellation request signal, a coprocessor interrupt control circuit performs cancellation or holding of the coprocessor instruction on the basis of execution state information retained by the coprocessor computation control circuit. The coprocessor interrupt control circuit evicts the execution state of the coprocessor instruction in the case of holding, and restores the execution state of the coprocessor instruction that had been evicted after completion of the interrupt processing.