IP Library Granted Patent US 12,079,650
Granted Patent B2
US 12,079,650 · App. 16/875,016 · Granted Sep 3, 2024

Virtual processor system and method utilizing discrete component elements

Inventors: Andrew Ward Beale (Irvine, CA); David Strong (Irvine, CA)
Assignee: Unisys Corporation
G06F9/45558G06F12/06G06F2009/45583G06F2212/7201
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 12,079,650
App. No.
16/875,016
Granted
Sep 3, 2024
Kind
B2
Abstract

A system and method for the dynamic, run-time configuration of logic core register files, and the provision of an associated execution context. The dynamic register files as well as the associated execution context information are software-defined so as to be virtually configured in random-access memory. This virtualization of both the processor execution context and register files enables the size, structure and performance to be specified at run-time and tailored to the specific processing, instructions and data associated with a given processor state or thread, thereby minimizing both the aggregate memory required and the context switching time. In addition, the disclosed system and method provides for processor virtualization which further enhances the flexibility and efficiency.

Claims (38)

1. A computer system including a processor and memory configured to define a component-based virtual processor comprising:

the processor configured to generate within the memory;

at least one virtual execution context element comprising information defining a particular processor state and at least one set of executable instructions, wherein the information defining the particular processor state and the at least one set of executable instructions is stored in a specific portion of a first addressable memory having a capacity configured by the processor at run-time to be equal to a memory space required to store the information defining the particular processor state and the at least one-set of executable instructions; and

at least one virtual processor base element comprising information stored in at least one specific portion of a second addressable memory, the stored information defining at least one base register pointer, wherein the at least one base register pointer comprises at least one memory address enabling the at least one virtual processor base element to access the specific portion of the first addressable memory storing the information defining the particular processor state and the at least one set of executable instructions, and wherein a capacity of the at least one specific portion of the second addressable memory is configured by the processor at run-time to be equal to a memory space required to store the information defining the at least one base register pointer.

2. The system of claim 1 further comprising at least one logic cure adapted to execute the at least one set of executable instructions upon the attachment of the at least one virtual processor base element to the at least one virtual execution context element.

3. The system of claim 1 wherein the at least one set of executable instructions comprises a plurality of instructions each of which defines a separate functionality for the component-based virtual processor.

4. The system of claim 1 wherein the base register pointer comprises at least one of the following:

a register context pointer; and

a memory context pointer.

5. The system of claim 1 wherein the first and second addressable memories are both located within a single physical addressable memory.

6. The system of claim 1 wherein at one of the first and second addressable memories comprises at least one of the following:

static random-access memory;

dynamic random-access memory; and

non-volatile memory.

7. The system of claim 1 wherein the at least one set of executable instructions comprises instructions for the initialization of the component-based virtual processor.

8. The system of claim 7 wherein the component-based virtual processor once initialized, is adapted to terminate upon the re-execution of instructions for component-based virtual processor initialization.

9. The system of claim 1 further comprising at least a plurality of additional virtual execution context elements, each comprising information defining an additional processor state and at least one set of additional executable instructions stored in a specific portion of an addressable memory having a capacity based upon the memory space required to store the information defining the additional processor state and the at least one set of additional executable instructions.

10. The system of claim 9 wherein the addressable memory comprises the first addressable memory.

11. The system of claim 9 wherein the at least one base register pointer comprises at least a second memory address associated with at least one of the plurality of additional virtual execution context elements.

12. The system of claim 11 further comprising at least one logic core adapted to execute the at least one set of executable instructions upon the attachment of the at least one virtual processor base element to the at least one virtual execution context element, and thereafter execute a process associated with at least one of the plurality of additional virtual execution context elements.

13. A method of defining a component-based virtual processor comprising:

storing in a specific portion of a first addressable memory at least one virtual execution context element comprising information defining a particular processor state and at least one set of executable instructions, wherein a capacity of the portion of the first addressable memory is configured by the processor at run-time to be equal to a memory space required to store the information defining the particular processor state and the at least one set of executable instructions; and

storing in a specific portion of a second addressable memory at least one virtual processor base element comprising information defining at least one base register pointer, wherein the at least

one base register pointer comprises at least one memory address enabling the at least one virtual processor base element to access the specific portion of the first addressable memory storing the information defining the particular processor slate and the at least one set of executable instructions, and wherein a capacity of the at least one specific portion of the second addressable memory is configured by the processor at run-time to be equal to a memory space required to store the information defining the at least one base register pointer.

14. The method of claim 13 wherein the at least one set of executable instructions comprises a plurality of instructions, each of which defines a separate functionality for the component-based virtual processor.

15. The method of claim 13 wherein the base register pointer comprises at least one of the following:

a register context pointer; and

a memory context pointer.

16. The method of claim 13 wherein the first and second addressable memories are both located within a single physical addressable memory device.

17. The method of claim 13 wherein the addressable memory comprises at least one of the following:

static random-access memory;

dynamic random-access memory; and

non-volatile memory.

18. The method of claim 13 further comprising attaching the at least one virtual processor base element to the at least one virtual execution context element.

19. The method of claim 13 further comprising executing the at least one set of executable instructions utilizing at least one logic core.

20. The method of claim 19 wherein the at least one set of executable instructions comprises instructions for the initialization of the component-based virtual processor.

21. The method of claim 20 further comprising initializing the component-based virtual processor.

22. The method of claim 21 further comprising the step of terminating the component-based virtual processor upon the re-execution of instructions for component-based virtual processor initialization.

Assignments (5)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2024
From: BEALE, ANDREW WARD; STRONG, DAVID
To: UNISYS CORPORATION
Reel/Frame 068079/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2024
From: BEALE, ANDREW WARD; STRONG, DAVID
To: UNISYS CORPORATION
Reel/Frame 067277/0185 →
SECURITY INTEREST Recorded Nov 19, 2020
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 054481/0865 →
SECURITY INTEREST Recorded Oct 30, 2020
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054226/0638 →
Continuity (1)
Related Publication 20210357240A1 · Nov 18, 2021