IP Library › Granted Patent US 11,868,779
Granted Patent B2
US 11,868,779 · App. 17/470,075 · Granted Jan 9, 2024

Updating metadata prediction tables using a reprediction pipeline

Inventors: James Raymond Cuffney (Poughkeepsie, NY); Adam Benjamin Collura (Hopewell Junction, NY); James Bonanno (Liberty Hill, TX); Brian Robert Prasky (Campbell Hall, NY); Edward Thomas Malley (Eastchester, NY); Suman Amugothu (Santa Clara, CA)
Assignee: International Business Machines Corporation
G06F9/3806G06F9/3844
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,868,779
App. No.
17/470,075
Granted
Jan 9, 2024
Kind
B2
Abstract

Aspects of the invention include a computer-implemented method of updating metadata prediction tables. The computer-implemented method includes establishing, in the metadata prediction tables, a prediction of how a set of instructions will resolve and identifying that the set of instructions is completed. The computer-implemented method also includes determining, upon completion of the set of instructions, whether prediction update queues (PUQs) associated with the set of instructions indicate that the set of instructions resolved in one of a plurality of prescribed manners relative to the prediction and deciding that the metadata predictions tables are candidates to be updated based on the PUQs indicating that the set of instructions resolved in one of the plurality of prescribed manners.

Claims (61)

1. A computer-implemented method of updating metadata prediction tables, the computer-implemented method comprising:

establishing, in the metadata prediction tables, a prediction of how a set of instructions will resolve;

identifying that the set of instructions is completed;

determining, upon completion of the set of instructions, whether prediction update queues (PUQs) associated with the set of instructions indicate that the set of instructions resolved in one of a plurality of prescribed manners relative to the prediction;

deciding that the metadata prediction tables are candidates to be updated based on the PUQs indicating that the set of instructions resolved in one of the plurality of prescribed manners; and

updating the metadata prediction tables in accordance with results of the deciding.

2. The computer-implemented method according to claim 1 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises determining how the set of instructions resolved.

3. The computer-implemented method according to claim 1 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises confirming that the metadata prediction tables are candidates to be updated is correct.

4. The computer-implemented method according to claim 3 , wherein, for a case in which the metadata prediction tables are in a predefined state:

the confirming occurs upon the completion of the set of instructions and comprises comparing data representing the set of instructions with data representing previous sets of instructions written into one of the PUQs as previous entries and determining whether there is a match between the data representing the set of instructions and the data representing previous sets of instructions in the one of the PUQs.

5. The computer-implemented method according to claim 3 , wherein, for a case in which the metadata prediction tables should be changed to account for a branch wrong instance:

the confirming occurs upon completion of a second instance of the set of instructions and comprises comparing second data representing the second instance of the set of instructions with data representing previous sets of instructions written into one of the PUQs as previous entries and determining whether there is a match between the second data representing the second instance of the set of instructions and the data representing previous sets of instructions in the one of the PUQs.

6. The computer-implemented method according to claim 1 , wherein the deciding is enabled by:

a weak prediction update queue (WeakPUQ) to track first sets of instructions that will need updates at completion time based on assumed correctness of predictions; and

a branch wrong PUQ (BrWrgPUQ) to track second sets of instructions that will need updates based on how multiple instances of each of the first and second sets of instructions complete.

7. The computer-implemented method according to claim 1 , wherein the updating of the metadata prediction tables comprises:

reading characteristic data from the metadata prediction tables upon completion of the set of instructions;

comparing the characteristic data with knowledge of how the set of instructions resolved; and

determining whether to update the metadata prediction tables based on results of the comparing.

8. A computer readable storage medium for updating metadata prediction tables, the computer readable storage medium comprising:

a memory having executable instructions stored thereof for causing a processor to carry out a method comprising:

establishing, in the metadata prediction tables, a prediction of how a set of instructions will resolve;

identifying that the set of instructions is completed;

determining, upon completion of the set of instructions, whether prediction update queues (PUQs) associated with the set of instructions indicate that the set of instructions resolved in one of a plurality of prescribed manners relative to the prediction;

deciding that the metadata prediction tables are candidates to be updated based on the PUQs indicating that the set of instructions resolved in one of the plurality of prescribed manners; and

updating the metadata prediction tables in accordance with results of the deciding.

9. The computer readable storage medium according to claim 8 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises determining how the set of instructions resolved.

10. The computer readable storage medium according to claim 8 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises confirming that the metadata prediction tables are candidates to be updated is correct.

11. The computer readable storage medium according to claim 10 , wherein, for a case in which the metadata prediction tables are in a predefined state:

the confirming occurs upon the completion of the set of instructions and comprises comparing data representing the set of instructions with data representing previous sets of instructions written into one of the PUQs as previous entries and determining whether there is a match between the data representing the set of instructions and the data representing previous sets of instructions in the one of the PUQs.

12. The computer readable storage medium according to claim 10 , wherein, for a case in which the metadata prediction tables should be changed to account for a branch wrong instance:

the confirming occurs upon completion of a second instance of the set of instructions and comprises comparing second data representing the second instance of the set of instructions with data representing previous sets of instructions written into one of the PUQs as previous entries and determining whether there is a match between the second data representing the second instance of the set of instructions and the data representing previous sets of instructions in the one of the PUQs.

13. The computer readable storage medium according to claim 8 , wherein the deciding is enabled by:

a weak prediction update queue (WeakPUQ) to track first sets of instructions that will need updates at completion time based on assumed correctness of predictions; and

a branch wrong PUQ (BrWrgPUQ) to track second sets of instructions that will need updates based on how multiple instances of each of the first and second sets of instructions complete.

14. The computer readable storage medium according to claim 8 , wherein the updating of the metadata prediction tables comprises:

reading characteristic data from the metadata prediction tables upon completion of the set of instructions;

comparing the characteristic data with knowledge of how the set of instructions resolved; and

determining whether to update the metadata prediction tables based on results of the comparing.

15. A system for updating metadata prediction tables, the system comprising:

a memory having computer readable instructions; and

one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

establishing, in the metadata prediction tables, a prediction of how a set of instructions will resolve;

identifying that the set of instructions is completed;

determining, upon completion of the set of instructions, whether prediction update queues (PUQs) associated with the set of instructions indicate that the set of instructions resolved in one of a plurality of prescribed manners relative to the prediction;

deciding that the metadata prediction tables are candidates to be updated based on the PUQs indicating that the set of instructions resolved in one of the plurality of prescribed manners; and

updating the metadata prediction tables in accordance with results of the deciding.

16. The system according to claim 15 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises determining how the set of instructions resolved.

17. The system according to claim 15 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises confirming that the metadata prediction tables are candidates to be updated is correct, and

wherein, for a case in which the metadata prediction tables are in a predefined state:

the confirming occurs upon the completion of the set of instructions and comprises comparing data representing the set of instructions with data representing previous sets of instructions written into one of the PUQs as previous entries and determining whether there is a match between the data representing the set of instructions and the data representing previous sets of instructions in the one of the PUQs.

18. The system according to claim 15 , wherein the deciding that the metadata prediction tables are candidates to be updated comprises confirming that the metadata prediction tables are candidates to be updated is correct, and

wherein, for a case in which the metadata prediction tables should be changed to account for a branch wrong instance:

the confirming occurs upon completion of a second instance of the set of instructions and comprises comparing second data representing the second instance of the set of instructions with data representing previous sets of instructions written into one of the PUQs as previous entries and determining whether there is a match between the second data representing the second instance of the set of instructions and the data representing previous sets of instructions in the one of the PUQs.

19. The system according to claim 15 , wherein the deciding is enabled by:

a weak prediction update queue (WeakPUQ) to track first sets of instructions that will need updates at completion time based on assumed correctness of predictions; and

a branch wrong PUQ (BrWrgPUQ) to track second sets of instructions that will need updates based on how multiple instances of each of the first and second sets of instructions complete.

20. The system according to claim 15 , wherein the updating of the metadata prediction tables comprises:

reading characteristic data from the metadata prediction tables upon completion of the set of instructions;

comparing the characteristic data with knowledge of how the set of instructions resolved; and

determining whether to update the metadata prediction tables based on results of the comparing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: CUFFNEY, JAMES RAYMOND; COLLURA, ADAM BENJAMIN; BONANNO, JAMES; PRASKY, BRIAN ROBERT; MALLEY, EDWARD THOMAS; AMUGOTHU, SUMAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057425/0616 →
Continuity (1)
Related Publication 20230075992A1 · Mar 9, 2023
Cited By (1)
US 12,547,408