Consistency Manager for Binary Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor systems face challenges in maintaining translation consistency and preventing execution errors due to modifications in virtual to physical address mappings and data changes after binary translation, leading to inconsistent code execution.

Innovation Solution

A consistency manager is implemented to detect and correct modifications in virtual to physical address mappings and data, preventing the execution of modified instructions by re-translating or scheduling the original instructions, ensuring translation consistency without relying on caching agents or uncore components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If binary translation is performed to enable code execution on different architectures, then adaptability is improved, but translation consistency deteriorates due to modifications in virtual to physical address mappings and data changes

Engineering Contradiction:
Improvecode execution adaptabilityVSAvoidtranslation consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements a feedback mechanism where the binary translator monitors modifications to virtual to physical address mappings and data changes after translation. When modifications are detected, the system feeds this information back to invalidate or update the translated code, ensuring translation consistency is maintained throughout execution.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The binary translator performs preliminary translation of code from source architecture to target architecture before execution. By establishing the translation upfront and then monitoring for modifications, the system ensures that translated code remains consistent with the original intent while enabling cross-architecture execution.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If translation consistency monitoring is implemented to prevent execution errors, then reliability is improved, but device complexity increases due to additional consistency management components

Engineering Contradiction:
Improveexecution accuracyVSAvoidconsistency management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The binary translator acts as an intermediary component between the original code and the execution environment. It manages the complexity of translation consistency monitoring by intercepting and managing modifications to address mappings and data, thereby protecting the core execution system from complexity while ensuring reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The binary translator is designed as a multi-functional component that not only performs code translation but also monitors modifications, manages address mappings, and ensures execution consistency. By consolidating these functions in a single component, the system avoids the need for multiple separate consistency management components, thereby reducing overall device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If real-time modification detection is performed to maintain translation consistency, then translation consistency is improved, but processing speed deteriorates due to additional detection overhead

Engineering Contradiction:
Improvetranslation consistencyVSAvoidcode execution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system implements partial monitoring by focusing detection efforts on critical modifications such as changes to address mappings and specific data regions that are likely to affect translation consistency. By not monitoring every possible modification in real-time, the system reduces detection overhead while maintaining sufficient consistency assurance for correct execution.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The binary translator implements efficient detection mechanisms that can quickly skip through non-critical regions and focus on areas where modifications would impact translation consistency. When no modifications are detected in critical areas, the system rushes through the execution process without additional verification overhead, thereby maintaining high execution speed.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS10635465B2Apparatuses and methods to prevent execution of a modified instruction
Publication Date: 2020.04.28 INTEL CORP
  • US10635465B2 patent drawing
  • US10635465B2 patent drawing
  • US10635465B2 patent drawing

AI summary

Methods and apparatuses relating to preventing the execution of a modified instruction. In one embodiment, an apparatus includes a hardware binary translator to translate an instruction to a translated instruction, and a consistency hardware manager to prevent execution of the translated instruction by a hardware processor on detection of a modification to a virtual to physical address mapping of the instruction after the translation.