Atomic Instruction Set for Interrupt-Free Bus Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face increased latency and overhead due to interrupts, particularly in embedded systems, which can disrupt program execution flow and introduce bugs, especially during operations like two-byte write operations to I/O devices.

Innovation Solution

An atomic instruction set and architecture with bus arbitration locking, where interrupts are selectively blocked and busses are locked during execution of designated instructions, allowing consecutive instructions to be executed atomically without mode switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If interrupts are enabled in processor execution, then system responsiveness is improved, but execution latency and overhead increase

Engineering Contradiction:
Improvesystem responsivenessVSAvoidexecution latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments interrupt handling into two distinct modes: supervisor mode for traditional interrupt processing and user mode for atomic operations. This segmentation allows critical atomic instruction sequences to execute in user mode where interrupts are blocked, eliminating interrupt-related latency for time-sensitive operations while maintaining system responsiveness for non-critical interrupts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic interrupt control where the processor can selectively block or allow interrupts based on the current execution context. Atomic instructions dynamically block interrupts during their execution sequence, and the processor transitions between interrupt-blocked and interrupt-enabled states based on the operation being performed, optimizing both responsiveness and latency.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If supervisor mode is used to control interrupts, then interrupt control capability is improved, but mode switching overhead increases

Engineering Contradiction:
Improveinterrupt control capabilityVSAvoidmode switching overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent divides interrupt control capabilities between two execution modes: supervisor mode with full interrupt control and user mode with atomic operation capabilities. This segmentation eliminates the need for mode switching when performing atomic operations, as user mode inherently blocks interrupts, thereby reducing overhead while maintaining necessary control capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Atomic instructions in user mode automatically block interrupts without requiring external control or mode switching. The interrupt blocking mechanism is self-service, where the atomic instruction sequence inherently prevents interrupt execution, eliminating the overhead associated with supervisor mode transitions while maintaining interrupt control where needed.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If interrupts are allowed during multi-byte operations, then system flexibility is improved, but execution reliability deteriorates

Engineering Contradiction:
Improvesystem flexibilityVSAvoidexecution reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic interrupt blocking specific to atomic instruction sequences. During multi-byte operations marked as atomic, interrupts are dynamically blocked to ensure execution reliability. The system flexibly adapts by allowing interrupts during non-atomic operations while blocking them only when necessary for atomicity, maintaining both reliability and flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies preliminary anti-action by proactively blocking interrupts before they can disrupt atomic instruction sequences. The atomic instruction mechanism preemptively prevents interrupt execution during critical multi-byte operations, countacting potential reliability issues before they occur while maintaining system flexibility for non-critical operations.

Inventive Principle:
Principle #9Preliminary anti-action

4Reliability

If atomic operation designation is added to instructions, then execution atomicity is improved, but instruction set complexity increases

Engineering Contradiction:
Improveexecution atomicityVSAvoidinstruction set complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by adding atomic operation designation to specific instructions that require atomic execution rather than all instructions. This selective approach improves execution atomicity for critical operations while minimizing instruction set complexity by maintaining standard instruction formats for non-atomic operations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements atomic operation designation through parameter changes in the instruction encoding, such as adding a single bit or opcode variation to indicate atomic execution. This minimal parameter change achieves execution atomicity for designated instructions while keeping the overall instruction set complexity low and maintaining compatibility with existing processor architectures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12393429B2Atomic instruction set and architecture with bus arbitration locking
Publication Date: 2025.08.19 MICROCHIP TECHNOLOGY INC
  • US12393429B2 patent drawing
  • US12393429B2 patent drawing
  • US12393429B2 patent drawing

AI summary

An article of manufacture includes a non-transitory machine-readable medium. The medium includes instructions. The instructions, when read and executed by a processor, cause the processor to identify a first input instruction in a code stream to be executed, determine that the first input instruction includes an atomic operation designation, and selectively block interrupts for a duration of execution of the first input instruction and a second input instruction. The second input instruction is to immediately follow the first input instruction in the code stream.