IP Library › Granted Patent US 11,061,684
Granted Patent B2
US 11,061,684 · App. 16/458,591 · Granted Jul 13, 2021

Architecturally paired spill/reload multiple instructions for suppressing a snapshot latest value determination

Inventors: Michael K. Gschwind (Chappaqua, NY); Chung-Lung K. Shum (Wappingers Falls, NY); Timothy J. Slegel (Staatsburg, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/3863G06F9/30043G06F9/384G06F9/461
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 11,061,684
App. No.
16/458,591
Granted
Jul 13, 2021
Kind
B2
Abstract

A reload multiple instruction is used to restore a set of architected registers saved by a spill multiple instruction. The reload multiple instruction is executed, and the executing includes determining the set of architected registers to be restored, which is specified by the reload multiple instruction. The set of architected registers is restored from a selected snapshot that maps architected registers to physical registers. The restoring replaces one or more physical registers currently assigned to one or more architected registers of the set of architected registers with one or more physical registers of the selected snapshot corresponding to the set of architected registers.

Claims (41)

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

at least one computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method comprising:

obtaining a reload multiple instruction to restore a set of architected registers, the reload multiple instruction being an architected instruction architecturally defined to be paired with a spill multiple instruction used to save the set of architected registers; and

executing the reload multiple instruction, the executing including:

determining the set of architected registers to be restored, the set of architected registers being specified by the reload multiple instruction; and

restoring the set of architected registers from a selected snapshot that maps architected registers to physical registers, the restoring replacing one or more physical registers currently assigned to one or more architected registers of the set of architected registers with one or more physical registers, of the selected snapshot, corresponding to the set of architected registers, wherein based on the reload multiple instruction being architecturally defined to be paired with the spill multiple instruction a determination of whether the selected snapshot includes latest values is suppressed.

2. The computer program product of claim 1 , wherein based on the reload multiple instruction being architecturally defined to be paired with the spill multiple instruction, verification that the set of architected registers being restored matches the set of architected registers saved is suppressed.

3. The computer program product of claim 1 , wherein the reload multiple instruction is architecturally defined to suppress a checking of memory modifications occurring between saving of the set of architected registers and restoring the set of architected registers.

4. The computer program product of claim 1 , wherein the method further comprises executing the spill multiple instruction to save the set of architected registers, the reload multiple instruction being architecturally matched to the spill multiple instruction such that verification of a matching of the reload multiple instruction and the spill multiple instruction is avoided.

5. The computer program product of claim 4 , wherein the spill multiple instruction has associated therewith an operation code specifying a spill multiple operation, and a plurality of registers to be used to designate the set of architected registers to be saved.

6. The computer program product of claim 5 , wherein the spill multiple instruction includes one or more fields used to specify an address in memory used to store contents of the set of architected registers.

7. The computer program product of claim 1 , wherein the reload multiple instruction has associated therewith an operation code specifying a reload multiple operation, and a plurality of registers to be used to designate the set of architected registers to be restored.

8. The computer program product of claim 7 , wherein the reload multiple instruction includes one or more fields used to specify an address in memory to be used in retrieving values to load into the set of architected registers.

9. The computer program product of claim 1 , wherein the method further comprises:

determining whether a snapshot corresponding to the set of architected registers is available; and

performing the restoring using the selected snapshot, based on determining that the snapshot corresponding to the set of architected registers is available.

10. The computer program product of claim 9 , wherein the method further comprises restoring the set of architected registers by loading values from memory into the set of architected registers, based on determining that the snapshot corresponding to the set of architected registers is unavailable.

11. 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, said method comprising:

obtaining a reload multiple instruction to restore a set of architected registers, the reload multiple instruction being an architected instruction architecturally defined to be paired with a spill multiple instruction used to save the set of architected registers; and

executing the reload multiple instruction, the executing including:

determining the set of architected registers to be restored, the set of architected registers being specified by the reload multiple instruction; and

restoring the set of architected registers from a selected snapshot that maps architected registers to physical registers, the restoring replacing one or more physical registers currently assigned to one or more architected registers of the set of architected registers with one or more physical registers, of the selected snapshot, corresponding to the set of architected registers, wherein based on the reload multiple instruction being architecturally defined to be paired with the spill multiple instruction a determination of whether the selected snapshot includes latest values is suppressed.

12. The computer system of claim 11 , wherein based on the reload multiple instruction being architecturally defined to be paired with the spill multiple instruction, verification that the set of architected registers being restored matches the set of architected registers saved is suppressed.

13. The computer system of claim 11 , wherein the reload multiple instruction is architecturally defined to suppress a checking of memory modifications occurring between saving of the set of architected registers and restoring the set of architected registers.

14. The computer system of claim 11 , wherein the method further comprises executing the spill multiple instruction to save the set of architected registers, the reload multiple instruction being architecturally matched to the spill multiple instruction such that verification of a matching of the reload multiple instruction and the spill multiple instruction is avoided.

15. The computer system of claim 11 , wherein the method further comprises:

determining whether a snapshot corresponding to the set of architected registers is available; and

performing the restoring using the selected snapshot, based on determining that the snapshot corresponding to the set of architected registers is available.

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

obtaining a reload multiple instruction to restore a set of architected registers, the reload multiple instruction being an architected instruction architecturally defined to be paired with a spill multiple instruction used to save the set of architected registers; and

executing the reload multiple instruction, the executing including:

determining the set of architected registers to be restored, the set of architected registers being specified by the reload multiple instruction; and

restoring the set of architected registers from a selected snapshot that maps architected registers to physical registers, the restoring replacing one or more physical registers currently assigned to one or more architected registers of the set of architected registers with one or more physical registers, of the selected snapshot, corresponding to the set of architected registers, wherein based on the reload multiple instruction being architecturally defined to be paired with the spill multiple instruction a determination of whether the selected snapshot includes latest values is suppressed.

17. The computer-implemented method of claim 16 , wherein based on the reload multiple instruction being architecturally defined to be paired with the spill multiple instruction, verification that the set of architected registers being restored matches the set of architected registers saved is suppressed.

18. The computer-implemented method of claim 16 , wherein the reload multiple instruction is architecturally defined to suppress a checking of memory modifications occurring between saving of the set of architected registers and restoring the set of architected registers.

19. The computer-implemented method of claim 16 , further comprising executing the spill multiple instruction to save the set of architected registers, the reload multiple instruction being architecturally matched to the spill multiple instruction such that verification of a matching of the reload multiple instruction and the spill multiple instruction is avoided.

20. The computer-implemented method of claim 16 , further comprising:

determining whether a snapshot corresponding to the set of architected registers is available; and

performing the restoring using the selected snapshot, based on determining that the snapshot corresponding to the set of architected registers is available.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2019
From: GSCHWIND, MICHAEL K.; SHUM, CHUNG-LUNG K.; SLEGEL, TIMOTHY J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049644/0027 →
Continuity (2)
Continuation 15489846 · Apr 18, 2017
Related Publication 20190324758A1 · Oct 24, 2019