IP Library › Granted Patent US 10,831,503
Granted Patent B2
US 10,831,503 · App. 16/182,017 · Granted Nov 10, 2020

Saving and restoring machine state between multiple executions of an instruction

Inventors: Bruce C. Giamei (Lagrangeville, NY); Martin Recktenwald (Schoenaich, DE); Donald W. Schmidt (Stone Ridge, NY); Timothy Slegel (Staatsburg, NY); Aditya N. Puranik (Pune, IN); Mark S. Farrell (Pleasant Valley, NY); Christian Jacobi (West Park, NY); Jonathan D. Bradbury (Poughkeepsie, NY); Christian Zoellin (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/3861G06F9/30145
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 10,831,503
App. No.
16/182,017
Granted
Nov 10, 2020
Kind
B2
Abstract

Saving and restoring machine state between multiple executions of an instruction. A determination is made that processing of an operation of an instruction executing on a processor has been interrupted prior to completion. Based on determining that the processing of the operation has been interrupted, current metadata of the processor is extracted. The metadata is stored in a location associated with the instruction and used to re-execute the instruction to resume forward processing of the instruction from where it was interrupted.

Claims (44)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a computer readable storage medium readable by a processor and storing instructions for performing a method comprising:

determining that processing of an operation of an instruction executing on the processor has been interrupted prior to completion, wherein the determining comprises checking a condition code set based on termination of the instruction, the condition code set to a select value indicating partial completion of the instruction;

extracting metadata of the processor, based on determining that the processing of the operation has been interrupted, the metadata being current metadata of the processor;

storing the metadata in a location associated with the instruction; and

using the metadata stored in the location in re-executing the instruction to resume forward processing of the instruction from where the instruction was interrupted.

2. The computer program product of claim 1 , wherein the instruction is a sort instruction, and the metadata includes information about one or more input lists to the sort instruction.

3. The computer program product of claim 2 , wherein the metadata comprises information regarding previous comparisons made of records of the one or more input lists to indicate next comparisons to be made.

4. The computer program product of claim 3 , wherein the next comparisons to be made are indicated absent repeating the previous comparisons.

5. The computer program product of claim 1 , wherein the location is a parameter block in memory designated by the instruction.

6. The computer program product of claim 5 , wherein the location of the parameter block in memory is designated by contents of an implied register of the instruction.

7. The computer program product of claim 5 , wherein the parameter block includes a continuation state buffer to store the metadata, the metadata comprising internal state data of the processor.

8. The computer program product of claim 7 , wherein the parameter block further comprises a continuation indicator to indicate partial completion of the operation.

9. The computer program product of claim 1 , wherein the using the metadata in re-executing the instruction further comprises:

re-executing the instruction to resume processing;

extracting the metadata from the location; and

loading the metadata extracted from the location into one or more select locations of the processor, wherein the metadata is provided to the processor absent repeating one or more tasks to produce the metadata.

10. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method comprising:

determining that processing of an operation of an instruction executing on the processor has been interrupted prior to completion, wherein the determining comprises checking a condition code set based on termination of the instruction, the condition code set to a select value indicating partial completion of the instruction;

extracting metadata metadata of the processor, based on determining that the processing of the operation has been interrupted, the metadata being current metadata of the processor;

storing the metadata in a location associated with the instruction; and

using the metadata stored in the location in re-executing the instruction to resume forward processing of the instruction from where the instruction was interrupted.

11. The computer system of claim 10 , wherein the instruction is a sort instruction, and the metadata includes information regarding previous comparisons made of records of one or more input lists to the sort instruction to indicate next comparisons to be made.

12. The computer system of claim 10 , wherein the location is a parameter block in memory designated by the instruction, and wherein the parameter block includes a continuation state buffer to store the metadata, the metadata comprising internal state data of the processor.

13. The computer system of claim 12 , wherein the parameter block further comprises a continuation indicator to indicate partial completion of the operation.

14. The computer system of claim 10 , wherein the using the metadata in re-executing the instruction further comprises:

re-executing the instruction to resume processing;

extracting the metadata from the location; and

loading the metadata extracted from the location into one or more select locations of the processor, wherein the metadata is provided to the processor absent repeating one or more tasks to produce the metadata.

15. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:

determining that processing of an operation of an instruction executing on a processor has been interrupted prior to completion, wherein the determining comprises checking a condition code set based on termination of the instruction, the condition code set to a select value indication partial completion of the instruction;

extracting metadata of the processor, based on determining that the processing of the operation has been interrupted, the metadata being current metadata of the processor;

storing the metadata in a location associated with the instruction; and

using the metadata stored in the location in re-executing the instruction to resume forward processing of the instruction from where the instruction was interrupted.

16. The computer-implemented method of claim 15 , wherein the instruction is a sort instruction, and the metadata includes information regarding previous comparisons made of records of one or more input lists to the sort instruction to indicate next comparisons to be made.

17. The computer-implemented method of claim 15 , wherein the location is a parameter block in memory designated by the instruction, and wherein the parameter block includes a continuation state buffer to store the metadata, the metadata comprising internal state data of the processor.

18. The computer-implemented method of claim 17 , wherein the parameter block further comprises a continuation indicator to indicate partial completion of the operation.

19. The computer-implemented method of claim 15 , wherein the using the metadata in re-executing the instruction further comprises:

re-executing the instruction to resume processing;

extracting the metadata from the location; and

loading the metadata extracted from the location into one or more select locations of the processor, wherein the metadata is provided to the processor absent repeating one or more tasks to produce the metadata.

20. The computer system of claim 11 , wherein the next comparisons to be made are indicated absent repeating the previous comparisons.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2018
From: GIAMEI, BRUCE C.; RECKTENWALD, MARTIN; SCHMIDT, DONALD W.; SLEGEL, TIMOTHY; PURANIK, ADITYA N.; FARRELL, MARK S.; JACOBI, CHRISTIAN; BRADBURY, JONATHAN D.; ZOELLIN, CHRISTIAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047425/0029 →
Continuity (1)
Related Publication 20200142706A1 · May 7, 2020