Virtual Core Register Reference Instruction for Low-Overhead Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for verifying program operations on virtual cores are hindered by high overhead, interference with the program's operation, and limited versatility, especially when the operating system is stalled or during real-time tracing, due to the need for dedicated hardware and complex synchronization processes.

Innovation Solution

A central processing unit (CPU) and information processing apparatus that enable direct reference to a current register value of an arbitrary virtual core without influencing its execution context, using a reference instruction that can be executed on another virtual core on the same physical core, with permission switching capabilities to minimize overhead and allow for analysis, debugging, and parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If dedicated hardware (JTAG, ICE) is used to acquire register information, then measurement precision is improved, but device complexity and cost increase

Engineering Contradiction:
Improveregister information acquisition accuracyVSAvoidhardware complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the register information acquisition function from dedicated external hardware (JTAG, ICE) and implements it within the CPU itself through virtual core mechanisms. This allows register information to be read without external devices, reducing hardware complexity while maintaining measurement precision.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent makes the CPU serve multiple functions: it既可以 execute normal programs on virtual cores,又可以 acquire register information for verification. The same CPU hardware that runs applications also performs verification functions, eliminating the need for separate dedicated verification hardware.

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

2Reliability

If traditional verification methods (debugger, memory dump) are used, then verification capability is improved, but productivity decreases due to program interruption

Engineering Contradiction:
Improveverification capabilityVSAvoidprogram execution continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables continuous program execution on virtual cores while simultaneously performing verification. The verified virtual core continues executing without interruption, and verification is performed through register reading mechanisms that do not halt the program flow, maintaining both reliability and productivity.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent introduces virtual cores as intermediaries between the physical core and the verification process. Register information is acquired through the virtual core interface without directly interrupting the program execution on the virtual core, allowing verification to proceed without stopping the program.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If register information is copied to different area for reading, then loss of time is reduced, but loss of information increases due to synchronization requirements

Engineering Contradiction:
Improveregister reading timeVSAvoidsynchronization accuracy
Core Design Contradiction:
Loss of timeVSLoss of information

Solution Approach 1:

The patent uses virtual cores that maintain register state copies synchronized with the physical core. These virtual register copies can be read without interrupting the physical core execution, reducing reading time while maintaining information accuracy through the virtualization layer's synchronization mechanisms.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP2787444B1Central processing unit, information processing apparatus, and intra-virtual-core register value acquisition method
Publication Date: 2022.08.17 NEC CORP
  • EP2787444B1 patent drawingFigure 1
  • EP2787444B1 patent drawingFigure 2
  • EP2787444B1 patent drawingFigure 3

AI summary

To provide a new operation verification method for an information processing flow, a central processing unit capable of building a plurality of virtual cores on a physical core includes: an element or part for executing, on an own virtual core, or causing another virtual core on the same physical core to execute, a reference instruction of directly referring to a current register value used by an arbitrary virtual core from the another virtual core without influence on an execution context of the arbitrary virtual core; and an element or part for switching a permission or authorization for executing the reference instruction of referring to the register value among the plurality of virtual cores.