Surrogate Memory Agent Configuration via Instruction Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies and increased power consumption due to the need for processors to switch to privileged mode to configure surrogate memory accessing agents, which can suspend non-privileged processes and expose physical addresses to non-privileged operations.

Innovation Solution

An instruction is used to translate and store data values, allowing a processor to configure surrogate memory accessing agents without requiring a switch to privileged mode, by translating virtual addresses to physical addresses using a memory management unit, thereby enabling efficient processing and protecting physical addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor operates in privileged mode to configure the surrogate memory accessing agent, then the physical address can be accessed and stored, but the processing time increases and power consumption increases due to mode switching

Engineering Contradiction:
Improveprotection of physical addressesVSAvoidprocessing delays
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a memory management unit (MMU) as an intermediary component that performs address translation from virtual to physical addresses. This allows non-privileged processes to configure surrogate memory accessing agents without direct access to physical addresses, as the MMU handles the translation transparently. The instruction translator acts as a mediator between the non-privileged process and the privileged memory management functions, resolving the contradiction by enabling configuration without privileged mode switching while maintaining address protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical system of privileged mode switching with a software-based instruction translation mechanism. Instead of suspending processes and switching processor modes, the system uses an instruction translator to convert configuration instructions into the appropriate form for execution. This substitution eliminates the need for mode transitions while maintaining the security boundaries, thereby reducing processing delays without compromising address protection.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If the processor operates in privileged mode to configure the surrogate memory accessing agent, then the physical address can be accessed and stored, but the power consumption increases due to mode switching

Engineering Contradiction:
Improveprotection of physical addressesVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The memory management unit (MMU) serves as an intermediary that handles address translation without requiring privileged mode transitions. By offloading the address translation function to the MMU, the system maintains physical address protection while avoiding the power-consuming operation of switching processor modes. The instruction translator mediates between non-privileged configuration requests and the privileged memory management hardware, enabling efficient operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent substitutes the power-intensive mechanical operation of mode switching with a more efficient software-based instruction translation approach. The instruction translator converts configuration instructions into executable form without requiring the processor to transition between privileged and non-privileged modes, thereby significantly reducing power consumption while maintaining the security requirements for physical address access.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If the processor suspends execution to switch to privileged mode, then the physical address can be accessed, but the processing efficiency decreases

Engineering Contradiction:
Improveprotection of physical addressesVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The instruction translator acts as an intermediary that enables non-privileged processes to configure surrogate memory accessing agents without suspending execution. It translates configuration instructions into a form that can be executed in non-privileged mode, with the MMU handling address translation in the background. This eliminates process suspension and mode switching, maintaining address protection while significantly improving processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the inefficient mechanical process of suspending execution and switching modes with a streamlined software-based instruction translation mechanism. The instruction translator and MMU work together to handle address translation and configuration without interrupting the normal flow of non-privileged processes, thereby maintaining security while dramatically improving processing efficiency and system productivity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8924685B2Configuring surrogate memory accessing agents using non-priviledged processes
Publication Date: 2014.12.30 QUALCOMM INC
  • US8924685B2 patent drawing
  • US8924685B2 patent drawing
  • US8924685B2 patent drawing

AI summary

Configuring a surrogate memory accessing agent using an instruction for translating and storing a data value is described. In one embodiment, the instruction is received that includes a first operand specifying a data value to be translated and a second operand specifying a virtual address associated with a location of a surrogate memory accessing agent register in which to store the data value. The data value can be translated to a first physical address. The virtual address can be translated to a second physical address. The first physical address is stored in the surrogate memory accessing agent register based on the second physical address.