IP Library › Granted Patent US 10,534,609
Granted Patent B2
US 10,534,609 · App. 15/680,881 · Granted Jan 14, 2020

Code-specific affiliated register prediction

Inventors: Michael K. Gschwind (Chappaqua, NY); Valentina Salapura (Chappaqua, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/30145G06F9/30061G06F9/30101G06F9/3806G06F9/3832
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,534,609
App. No.
15/680,881
Granted
Jan 14, 2020
Kind
B2
Abstract

Code-specific affiliated register prediction. A determination is made as to whether a unit of code is a candidate for affiliated register prediction. The determining employs a code specific indicator specific to the unit of code. Based on determining the unit of code is a candidate for affiliated register prediction, an indication of an affiliated register is loaded into a selected location. Based on the loading, the affiliated register is employed in speculative processing.

Claims (36)

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 processing circuit and storing instructions for performing a method comprising:

determining for a unit of code whether the unit of code is a candidate for affiliated register prediction, wherein the determining employs a code specific indicator specific to the unit of code, wherein the code specific indicator specific to the unit of code is part configuration information associated with the unit of code;

loading into a selected location a location identifier of an affiliated register, based on determining the unit of code is a candidate for affiliated register prediction; and

employing, based on the loading, the affiliated register in speculative processing.

2. The computer program product of claim 1 , wherein another unit of code has another code specific indicator specific to the other unit of code to be used to determine whether the other unit of code is a candidate for affiliated register prediction.

3. The computer program product of claim 1 , wherein the selected location is selected from a group consisting of a machine state register, a program status word, a special purpose register, a page table entry, a segment table entry, and a specific control register.

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

determining a context switch has occurred; and

updating a configuration, based on the context switch, wherein the configuration comprises the code specific indicator.

5. The computer program product of claim 4 , wherein the method further comprises:

determining whether the code specific indicator is located in a location specifically bound to the unit of code; and

performing the updating, based on determining the code specific indicator is located in a location not specifically bound to the unit of code.

6. The computer program product of claim 5 , wherein the location specifically bound to the unit of code comprises a page table entry or a segment table entry.

7. The computer program product of claim 5 , wherein the location not specifically bound to the unit of code comprises a control register.

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

determining that a hardware exception has been taken; and

storing the configuration information into an exception context, based on the hardware exception, the configuration information comprising the code specific indicator.

9. The computer program product of claim 8 , wherein the method further comprises exiting hardware exception processing, the exiting including:

obtaining the configuration information from the exception context; and

storing the configuration information in a control register.

10. The computer program product of claim 1 , wherein the affiliated register prediction comprises storing a predicted target address of a register-indirect branch in a predicted register and concurrently in an affiliated register that is affiliated with the predicted register on the basis of a known affiliation between the predicted register and the affiliated register.

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

determining, by a processor, for a unit of code whether the unit of code is a candidate for affiliated register prediction, wherein the determining employs a code specific indicator specific to the unit of code, wherein the code specific indicator specific to the unit of code is part configuration information associated with the unit of code;

loading into a selected location a location identifier of an affiliated register, based on determining the unit of code is a candidate for affiliated register prediction; and

employing, based on the loading, the affiliated register in speculative processing.

12. The computer-implemented method of claim 11 , wherein another unit of code has another code specific indicator specific to the other unit of code to be used to determine whether the other unit of code is a candidate for affiliated register prediction.

13. The computer-implemented method of claim 11 , further comprising:

determining a context switch has occurred; and

updating a configuration, based on the context switch, wherein the configuration comprises the code specific indicator.

14. The computer-implemented method of claim 13 , further comprising:

determining whether the code specific indicator is located in a location specifically bound to the unit of code; and

performing the updating, based on determining the code specific indicator is located in a location not specifically bound to the unit of code.

15. The computer-implemented method of claim 11 , further comprising:

determining that a hardware exception has been taken; and

storing the configuration information into an exception context, based on the hardware exception, the configuration information comprising the code specific indicator.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: GSCHWIND, MICHAEL K.; SALAPURA, VALENTINA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043336/0837 →
Continuity (1)
Related Publication 20190056940A1 · Feb 21, 2019