IP Library › Granted Patent US 11,928,471
Granted Patent B2
US 11,928,471 · App. 17/406,513 · Granted Mar 12, 2024

Metadata predictor

Inventors: Edward Thomas Malley (Eastchester, NY); Adam Benjamin Collura (Hopewell Junction, NY); Brian Robert Prasky (Campbell Hall, NY); James Bonanno (Liberty Hill, TX); Dominic Ditomaso (Hyde Park, NY)
Assignee: International Business Machines Corporation
G06F9/355G06F9/30079G06F9/3806G06F9/3814
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,928,471
App. No.
17/406,513
Granted
Mar 12, 2024
Kind
B2
Abstract

Embodiments for a metadata predictor. An index pipeline generates indices in an index buffer in which the indices are used for reading out a memory device. A prediction cache is populated with metadata of instructions read from the memory device. A prediction pipeline generates a prediction using the metadata of the instructions from the prediction cache, the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline.

Claims (31)

1. A computer-implemented method comprising:

operating an index pipeline to generate indices in an index buffer in which the indices are used for reading out a memory device, the indices to the index buffer being generated using an accelerator, wherein writing to the accelerator is based, at least in part, on whether a target address for a branch taken is intraline;

populating a prediction cache with metadata of instructions, the metadata of instructions being read from the memory device; and

operating a prediction pipeline to generate a prediction using the metadata of the instructions from the prediction cache, the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline.

2. The computer-implemented method of claim 1 , wherein the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline comprises continually indexing the memory device to read out the metadata for the prediction cache independent of processes in the prediction pipeline.

3. The computer-implemented method of claim 1 , wherein the index buffer is configured to read out the memory device having the metadata for the prediction cache without reliance on and in advance of generating the prediction using the metadata from the prediction cache.

4. The computer-implemented method of claim 1 , wherein the prediction pipeline is configured to output a line of the metadata of the instructions from the prediction cache.

5. The computer-implemented method of claim 1 , wherein the prediction pipeline is configured to continuously reuse a line of the metadata of the instructions from the prediction cache without having to re-access the memory device.

6. The computer-implemented method of claim 1 , wherein the prediction pipeline is configured to continuously reuse a line of the metadata of the instructions that has been output from the prediction cache in order to generate a new prediction, responsive to a previous prediction being predicted to the line of the metadata.

7. The computer-implemented method of claim 1 , wherein the prediction is provided to an out-of-order instruction execution pipeline, the out-of-order instruction execution pipeline operating in parallel to the index pipeline and the prediction pipeline.

8. A 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 processes comprising:

operating an index pipeline to generate indices in an index buffer in which the indices are used for reading out a memory device, the indices to the index buffer being generated using an accelerator, wherein writing to the accelerator is based, at least in part, on whether a target address for a branch taken is intraline;

populating a prediction cache with metadata of instructions from the memory device; and

operating a prediction pipeline to generate a prediction using the metadata of the instructions from the prediction cache, the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline.

9. The system of claim 8 , wherein the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline comprises continually indexing the memory device to read out the metadata for the prediction cache independent of processes in the prediction pipeline.

10. The system of claim 8 , wherein the index buffer is configured to read out the memory device having the metadata for the prediction cache without reliance on and in advance of generating the prediction using the metadata from the prediction cache.

11. The system of claim 8 , wherein the prediction pipeline is configured to output a line of the metadata of the instructions from the prediction cache.

12. The system of claim 8 , wherein the prediction pipeline is configured to continuously reuse a line of the metadata of the instructions from the prediction cache without having to re-access the memory device.

13. The system of claim 8 , wherein the prediction pipeline is configured to continuously reuse a line of the metadata of the instructions that has been output from the prediction cache in order to generate a new prediction, responsive to a previous prediction being predicted to the line of the metadata.

14. The system of claim 8 , wherein the prediction is provided to an out-of-order instruction execution pipeline, the out-of-order instruction execution pipeline operating in parallel to the index pipeline and the prediction pipeline.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform processes comprising:

operating an index pipeline to generate indices in an index buffer in which the indices are used for reading out a memory device, the indices to the index buffer being generated using an accelerator, wherein writing to the accelerator is based, at least in part, on whether a target address for a branch taken is intraline;

populating a prediction cache with metadata of instructions from the memory device; and

operating a prediction pipeline to generate a prediction using the metadata of the instructions from the prediction cache, the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline.

16. The computer program product of claim 15 , wherein the populating of the prediction cache with the metadata of the instructions being performed asynchronously to the operating of the prediction pipeline comprises continually indexing the memory device to read out the metadata for the prediction cache independent of processes in the prediction pipeline.

17. The computer program product of claim 15 , wherein the index buffer is configured to read out the memory device having the metadata for the prediction cache without reliance on and in advance of generating the prediction using the metadata from the prediction cache.

18. The computer program product of claim 15 , wherein the prediction pipeline is configured to output a line of the metadata of the instructions from the prediction cache.

19. The computer program product of claim 15 , wherein the prediction pipeline is configured to continuously reuse a line of the metadata of the instructions from the prediction cache without having to re-access the memory device.

20. The computer program product of claim 15 , wherein the prediction pipeline is configured to continuously reuse a line of the metadata of the instructions that has been output from the prediction cache in order to generate a new prediction, responsive to a previous prediction being predicted to the line of the metadata.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: MALLEY, EDWARD THOMAS; COLLURA, ADAM BENJAMIN; PRASKY, BRIAN ROBERT; BONANNO, JAMES; DITOMASO, DOMINIC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057231/0551 →
Continuity (1)
Related Publication 20230057600A1 · Feb 23, 2023