Translation Lookaside Buffer Atomic Instruction Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems employing virtual memory, the translation process between virtual and physical memory addresses can lead to unreliable operations during atomic instructions, where load and store operations are separated in time, potentially resulting in data being stored at a different location than it was loaded from, causing memory ordering violations.

Innovation Solution

A method where load instructions are identified and placed in a queue, and atomic instructions are prevented from executing until they are the oldest in the queue, ensuring that load and store operations within atomic instructions use the same translation information by forcing a miss in the translation lookaside buffer to maintain consistent address translations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If load instructions are placed in a queue and atomic instructions are prevented from executing until they are the oldest in the queue, then translation consistency between load and store operations is improved, but instruction execution time increases

Engineering Contradiction:
Improvetranslation consistencyVSAvoidinstruction execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by identifying and queueing load instructions before atomic instructions execute. The load instructions are placed in a queue in advance, and the atomic instruction is prevented from executing until it is the oldest instruction in the queue, ensuring that the translation lookaside buffer contains the correct translation information before the store operation occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - the queue and control logic that monitors instruction age and queue status. This intermediary structure mediates between the load instruction and the atomic instruction, ensuring that the load completes and its translation is established in the translation lookaside buffer before the atomic instruction proceeds, thereby guaranteeing translation consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the translation lookaside buffer is forced to miss on atomic load signals, then translation information consistency is ensured, but cache performance deteriorates

Engineering Contradiction:
Improvetranslation information consistencyVSAvoidcache performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary anti-action by proactively forcing a miss in the translation lookaside buffer when an atomic load signal is detected. This pre-emptive action clears any potentially stale or incorrect translation information from the buffer before the atomic instruction executes, preventing translation inconsistencies even though it causes a cache miss and requires a translation lookup.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS8341316B2Method and apparatus for controlling a translation lookaside buffer
Publication Date: 2012.12.25 ADVANCED MICRO DEVICES INC
  • US8341316B2 patent drawing
  • US8341316B2 patent drawing
  • US8341316B2 patent drawing

AI summary

A method and apparatus are provided for controlling a translation lookaside buffer in connection with the execution of an atomic instruction. The method comprises identifying load instructions within a plurality of instructions to be executed, and placing the identified load instructions in a queue prior to execution. An atomic instruction identified in the queue is prevented from executing until the atomic instruction is the oldest instruction in the queue. The apparatus comprises a queue and a translation lookaside buffer. The queue is adapted to: identify an atomic instruction within a plurality of instructions to be executed; prevent execution of the atomic instruction until it is the oldest instruction in the queue; and send a virtual address corresponding to the atomic instruction and an atomic load signal in response to determining that the atomic instruction is the oldest instruction in the queue. The translation lookaside buffer is adapted for maintaining at least one virtual to physical address translation, and is adapted to force a miss in the translation lookaside buffer in response to receiving the atomic load signal.