Load Store Circuitry Shared Memory Access for Atomic Data Transfers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor designs face challenges in efficiently handling single-copy-atomic load/store instructions for large data blocks, as the existing load/store data path may not support the maximum data size required, leading to increased hardware costs and complexity.

Innovation Solution

The solution involves mapping a single-copy-atomic load/store instruction to a plurality of mapped load/store micro-operations, which trigger a shared memory access request and separate transfers over a narrower data path, maintaining atomicity while reducing hardware costs by avoiding the need for a wider data path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the load/store data path is widened to support large data blocks, then the maximum data size supported increases, but hardware costs and complexity increase

Engineering Contradiction:
Improvemaximum data size supportedVSAvoidhardware costs and complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides a large data block transfer operation into multiple smaller micro-operations, each handling a portion of the data that fits within the existing data path width. The instruction decoder breaks down a single large load/store instruction into multiple micro-operations that can be processed sequentially through the existing narrow data path, eliminating the need to widen it.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a buffer as an intermediary component between the narrow load/store data path and the large data block in memory. The buffer temporarily stores data portions as they are transferred, allowing the narrow data path to handle small chunks while ultimately supporting large data block transfers without requiring data path widening.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If multiple micro-operations are used to handle large data blocks, then hardware costs are reduced, but the number of processing steps increases

Engineering Contradiction:
Improvehardware costsVSAvoidprocessing steps
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent ensures continuous data transfer by pipeline-izing the micro-operations. While one micro-operation is transferring data, the next is being prepared, and previous operations are completing. This continuous flow minimizes idle time and reduces the overall processing time despite using multiple micro-operations.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The instruction decoder performs preliminary breakdown of the large load/store instruction into multiple micro-operations before execution. This preparation allows the execution units to process them efficiently in sequence without needing to perform complex analysis during execution, reducing processing overhead.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a shared memory access request is used for multiple micro-operations, then resource utilization improves, but coordination complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple micro-operations into a single shared memory access request when they target the same memory address. This consolidation reduces the total number of memory access requests, improving resource utilization by allowing the memory system to handle fewer, larger transfers rather than multiple small ones.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The load/store buffer tracks the state of each micro-operation and provides feedback to the memory access request generation logic. This feedback mechanism allows the system to intelligently determine when multiple micro-operations can share a memory request, automatically managing the coordination complexity through state monitoring and conditional merging.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11748101B2Handling of single-copy-atomic load/store instruction with a memory access request shared by micro-operations
Publication Date: 2023.09.05 ARM LTD
  • US11748101B2 patent drawing
  • US11748101B2 patent drawing
  • US11748101B2 patent drawing

AI summary

In response to a single-copy-atomic load/store instruction for requesting an atomic transfer of a target block of data between the memory system and the registers, where the target block has a given size greater than a maximum data size supported for a single load/store micro-operation by a load/store data path, instruction decoding circuitry maps the single-copy-atomic load/store instruction to two or more mapped load/store micro-operations each for requesting transfer of a respective portion of the target block of data. In response to the mapped load/store micro-operations, load/store circuitry triggers issuing of a shared memory access request to the memory system to request the atomic transfer of the target block of data of said given size to or from the memory system, and triggers separate transfers of respective portions of the target block of data over the load/store data path.