Processor Identification Instruction Spoofing for Heterogeneous ISA Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with multiple processor cores having different instruction set architectures (ISAs), there is a need to enable a processor core to spoof the execution of processor identification instructions, such as CPUID, to report identification information based on a combination of cores, facilitating seamless operation and abstraction in heterogeneous ISA systems.

Innovation Solution

The implementation of CPUID spoofing logic within processor cores allows them to respond to CPUID instructions by constructing and accessing CPUID tables that aggregate or combine identification information from multiple cores, enabling the reporting of a unified, intersectional, or subset ISA information, and supporting both native and virtualized modes through specific configuration registers and instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a processor core executes processor identification instructions (e.g., CPUID) to report its own identification information, then the software can identify the processor's ISA features, but in heterogeneous ISA systems this causes compatibility issues and requires complex translation or emulation layers

Engineering Contradiction:
Improvesystem compatibilityVSAvoidtranslation or emulation layer
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the identification information of multiple processor cores into a single unified response when a CPUID instruction is executed. The processor core combines ISA feature information from itself and other cores in the system, presenting a consolidated view that enables software to operate on heterogeneous ISA systems without requiring complex translation or emulation layers, thus resolving the contradiction between system compatibility and device complexity

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a processor identification instruction spoofing mechanism that acts as an intermediary between the software and the actual processor cores. This spoofing logic intercepts CPUID instructions and returns synthesized identification information that represents the combined capabilities of multiple cores, eliminating the need for complex ISA translation or emulation while maintaining system compatibility across heterogeneous architectures

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple processor cores with different ISAs are used to enhance system capability, then the system can support diverse instruction set architectures, but the processor identification becomes ambiguous and requires complex management

Engineering Contradiction:
ImproveISA diversity supportVSAvoidprocessor identification
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements a universal processor identification mechanism that works across multiple processor cores with different ISAs. By executing a single CPUID instruction, the system可以获得 unified identification information that represents the combined ISA capabilities of all cores, eliminating the need for complex identification management and providing consistent behavior across heterogeneous architectures

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

Data Source

PatentEP3629156B1Spoofing a processor identification instruction
Publication Date: 2024.02.21 INTEL CORP
  • EP3629156B1 patent drawingFigure 1
  • EP3629156B1 patent drawingFigure 2
  • EP3629156B1 patent drawingFigure 3

AI summary

Embodiments of processors, methods, and systems for a processor core supporting processor identification instruction spoofing are described. In an embodiment, a processor includes an instruction decoder and processor identification instruction spoofing logic. The processor identification spoofing logic is to respond to a processor identification instruction by reporting processor identification information from a processor identification spoofing data structure. The processor identification spoofing data structure is to include processor identification information of one or more other processors.