IP Library Granted Patent US 9,690,603
Granted Patent B2
US 9,690,603 · App. 14/229,076 · Granted Jun 27, 2017

Central processing unit, information processing apparatus, and intra-virtual-core register value acquisition method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,690,603
App. No.
14/229,076
Granted
Jun 27, 2017
Kind
B2
Abstract

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.

Claims (19)

1. A central processing unit capable of building a plurality of virtual cores on a physical core, comprising:

an element 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 a selected one of the virtual cores executing any program from the another virtual core without influence on an execution context of the selected one of the virtual cores; and

an element for giving a permission for executing the reference instruction of referring to the register value among the plurality of virtual cores;

wherein the central processing unit further comprises:

an element for executing, on the own virtual core, or causing the another virtual core to execute, a reference preparation instruction of stopping processing on the own virtual core or the another virtual core, which causes a change in a register value possibly referred to by the reference instruction.

2. The central processing unit according to claim 1 , further comprising an element for executing, on the own virtual core, or causing the another virtual core to execute, a reference preparation reset instruction of resetting a stop state of the virtual core stopped by the reference preparation instruction.

3. The central processing unit according to claim 2 , further comprising an element for executing, on the own virtual core, or causing another virtual core belonging to the same physical core to execute, when a notification is received from the another virtual core, a setting instruction of setting a point to a debug register of the own virtual core, said setting instruction individually executing or cooperating the reference instruction, the reference preparation instruction, and the reference preparation reset instruction.

4. The central processing unit according to claim 1 , wherein the central processing unit has a function of partitioning the same physical core on which respective virtual cores that execute, or are caused to execute, each of the reference instruction, the reference preparation instruction, and the reference preparation reset instruction are built, each virtual core being assigned with a hardware resource and operating independent OSs.

5. A central processing unit having such a configuration that a plurality of virtual cores are implementable on a single physical core, and each register built in the physical core operates faster than a data transfer to an external memory component, the central processing unit comprising:

an element 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 relating to an execution of a program to be operated on a virtual core subject to analysis from the another virtual core without influence on an execution context of the virtual core subject to the analysis;

an element for executing, on the own virtual core, or causing the another virtual core to execute, a reference preparation instruction of stopping processing on the own virtual core or the another virtual core, which causes a change in a register value possibly referred to by the reference instruction;

an element for executing, on the own virtual core, or causing the another virtual core to execute, a reference preparation reset instruction of resetting a stop state of the virtual core stopped by the reference preparation instruction;

an element for executing, on the own virtual core, or causing another virtual core belonging to the same physical core to execute, when a notification is received from the another virtual core, a setting instruction of setting a point to a debug register of the own virtual core, said setting instruction individually executing or cooperating the reference instruction, the reference preparation instruction, and the reference preparation reset instruction; and

an element for giving a permission for executing the reference instruction of referring to the register value among the plurality of virtual cores.

6. An information processing apparatus, comprising a central processing unit installed therein, the information processing apparatus being configured to execute any one of or a combination of analysis, debug, and parallel processing by the use of a reference instruction of directly referring to a current register value used by a virtual core from any other virtual core on the same physical core;

wherein the central processing unit capable of building a plurality of virtual cores on a physical core comprises:

an element 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 a selected one of the virtual cores executing any program from the another virtual core without influence on an execution context of the selected one of the virtual cores; and

an element for giving a permission for executing the reference instruction of referring to the register value among the plurality of virtual cores; and

wherein the analysis, debug, and parallel processing are executed by an OS carried out by the virtual core in connection with an analyzed program which is executed in the virtual core on the same physical core.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2024
From: IP WAVE PTE LTD.
To: CLOUD BYTE LLC.
Reel/Frame 067944/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2024
From: NEC ASIA PACIFIC PTE LTD.
To: IP WAVE PTE LTD.
Reel/Frame 066376/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2023
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 063349/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2014
From: TANIUCHI, NORIYUKI
To: NEC CORPORATION
Reel/Frame 032561/0720 →