Atomic Engine Component for Multi-Word Atomic Operations in SoC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Systems-on-chips (SoCs) face challenges in ensuring atomic operations across multiple processors, leading to potential intermediate, erroneous data readings during execution, particularly due to non-atomic operations being interrupted by other threads.

Innovation Solution

The implementation of an atomic engine component within the SoC that determines the memory width based on the instruction's operator and operand, facilitating multi-word atomic operations by reserving and locking memory locations with widths greater than or equal to the operand width, ensuring operations complete without interruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If non-atomic operations are used in SoC multi-processor environments, then processing speed and throughput are improved, but data integrity and reliability deteriorate due to intermediate erroneous readings during execution

Engineering Contradiction:
Improveprocessing speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The atomic operation is segmented into distinct phases: reservation phase (locking the memory location), execution phase (performing the atomic operation), and release phase (unlocking the memory location). This segmentation ensures that the critical execution phase cannot be interrupted by other processors, thereby maintaining data integrity while allowing high-speed processing when atomic operations are not required

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory location is reserved and locked before the atomic operation executes. This preliminary action prevents other processors from accessing the memory location during the critical execution window, ensuring that no intermediate erroneous readings occur. The reservation is established in advance, allowing the actual atomic operation to proceed without interruption at high speed

Inventive Principle:
Principle #10Preliminary action

2Reliability

If atomic operations are implemented to ensure data integrity, then reliability is improved, but device complexity increases due to additional locking and reservation mechanisms

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A dedicated atomic engine component is introduced as an intermediary between the processors and the memory system. This atomic engine handles all the complexity of reservation, locking, and atomic operation execution, while processors can simply issue atomic operation requests. The atomic engine translates high-level atomic operation requests into low-level locked/unlocked memory operations, thereby maintaining reliability without significantly increasing processor complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The atomic engine automatically manages the reservation and locking of memory locations without requiring explicit programmer intervention. When a processor issues an atomic operation request, the atomic engine autonomously reserves the memory location, executes the operation atomically, and releases the reservation. This self-service mechanism ensures data integrity while keeping the interface simple for processors

Inventive Principle:
Principle #25Self-service

3Reliability

If memory locations are reserved and locked for atomic operations, then atomicity is ensured, but memory access efficiency and productivity decrease due to reduced concurrency

Engineering Contradiction:
Improveatomic operation guaranteeVSAvoidmemory access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The reservation and locking mechanism applies only to the specific memory location involved in the atomic operation, not to the entire memory space. This localized approach allows other processors to continue accessing different memory locations concurrently without interference. The lock scope is minimized to only what is necessary for the atomic operation, thereby maintaining atomicity while preserving overall memory access efficiency

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory location undergoes periodic states of being locked and unlocked. During the locked state, atomic operations are guaranteed; during the unlocked state, normal concurrent access is permitted. This periodic locking/unlocking pattern ensures atomicity when needed while maximizing concurrency during non-critical periods, thereby balancing reliability and productivity

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10310857B2Systems and methods facilitating multi-word atomic operation support for system on chip environments
Publication Date: 2019.06.04 AMPERE COMPUTING LLC
  • US10310857B2 patent drawing
  • US10310857B2 patent drawing
  • US10310857B2 patent drawing

AI summary

Systems and methods that facilitate multi-word atomic operation support for systems on chip are described. One method involves: receiving an instruction associated with a calling process, and determining a first memory width associated with execution of the instruction based on an operator of the instruction and a width of at least one operand of the instruction. The instruction can be associated with an atomic operation. In some embodiments, the instruction contains a message having a first field identifying the operator and a second field identifying the operand.