Processor Variable Instruction Atomicity for Interrupt Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In real-time embedded applications, the execution of complex instructions that require multiple cycles can degrade performance due to conventional interrupt recognition at instruction boundaries, leading to inefficiencies in handling interrupts during prolonged instruction execution.

Innovation Solution

A processor with multiple execution units that can execute complex instructions in multiple cycles, allowing for atomic execution of certain portions and enabling interruptions during non-overlapping portions, facilitating timely interrupt handling and parallel execution of different instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If complex instructions are executed for multiple cycles, then processing capability is improved, but interrupt response time deteriorates

Engineering Contradiction:
Improveprocessing capabilityVSAvoidinterrupt response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The complex instruction execution is segmented into multiple cycles, with specific portions marked as atomic (non-interruptible) and others as interruptible. This segmentation allows the processor to maintain long execution sequences for complex instructions while permitting interrupts at safe boundaries, thus resolving the contradiction between processing capability and interrupt response time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic control over interrupt recognition during instruction execution. The interrupt recognition mechanism is made dynamic by allowing interrupts during non-atomic portions of multi-cycle instructions while blocking them during atomic portions. This dynamic approach enables the system to adapt interrupt responsiveness based on the criticality of the current execution phase.

Inventive Principle:
Principle #15Dynamics

2Reliability

If atomic execution is enforced during entire complex instruction, then execution integrity is improved, but interrupt handling efficiency deteriorates

Engineering Contradiction:
Improveexecution integrityVSAvoidinterrupt handling efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Different portions of the complex instruction are assigned different atomicity properties. Critical portions are marked as atomic to ensure execution integrity, while non-critical portions are marked as interruptible to improve interrupt handling efficiency. This local differentiation of quality properties allows the system to maintain reliability where needed while optimizing productivity elsewhere.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9612834B2Processor with variable instruction atomicity
Publication Date: 2017.04.04 TEXAS INSTRUMENTS INC
  • US9612834B2 patent drawing
  • US9612834B2 patent drawing
  • US9612834B2 patent drawing

AI summary

A processor includes a plurality of execution units. At least one of the execution units is configured to execute a complex instruction that requires multiple instruction cycles to execute, and to enforce atomic execution of the complex instruction during a first-portion of the multiple instruction cycles required to execute the complex instruction. The at least one of the execution units is further configured to enable execution of the complex instruction to be interrupted for execution of a different instruction by the at least one execution unit during execution of a second portion of the multiple instruction cycles. The first portion and the second portion are non-overlapping.