IP Library › Granted Patent US 11,782,919
Granted Patent B2
US 11,782,919 · App. 17/406,452 · Granted Oct 10, 2023

Using metadata presence information to determine when to access a higher-level metadata table

Inventors: Adam Benjamin Collura (Hopewell Junction, NY); James Bonanno (Liberty Hill, TX); Brian Robert Prasky (Campbell Hall, NY)
Assignee: International Business Machines Corporation
G06F16/2453G06F16/211
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,782,919
App. No.
17/406,452
Granted
Oct 10, 2023
Kind
B2
Abstract

Embodiments are provided for using metadata presence information to determine when to access a higher-level metadata table. It is determined that an incomplete hit occurred for a line of metadata in a lower-level structure of a processor, the lower-level structure being coupled to a higher-level structure in a hierarchy. It is determined that metadata presence information in a metadata presence table is a match to the line of metadata from the lower-level structure. Responsive to determining the match, it is determined to avoid accessing the higher-level structure of the processor.

Claims (38)

1. A computer-implemented method comprising:

determining, by a processor, that an incomplete hit occurred for a line of metadata in a lower-level structure of the processor, the lower-level structure being coupled to a higher-level structure in a hierarchy, the line of metadata comprising parts, wherein the incomplete hit identifies branch information for at least one of the parts but does not identify branch information for another one of the parts;

determining, by the processor, that metadata presence information in a metadata presence table of the processor is a match to the line of metadata from the lower-level structure, the metadata presence table comprising the parts of the line of metadata that are known by the lower-level structure and the higher-level structure;

responsive to determining a hit associated with an instruction cache, responsive to determining that the incomplete hit occurred for the line of metadata in the lower-level structure, and responsive to determining that the metadata presence information in the metadata presence table identifies a presence of one or more branches different from the line of metadata, accessing the higher-level structure for the line of metadata; and

responsive to determining the match, determining, by the processor, to avoid accessing the higher-level structure of the processor in order to improve performance of the processor.

2. The computer-implemented method of claim 1 , wherein the metadata presence information identifies a presence of one or more branches different from the line of metadata; and wherein the lower-level structure, the higher-level structure, and the metadata presence table are different hardware structures on the processor.

3. The computer-implemented method of claim 1 further comprising, responsive to determining that the metadata presence information in the metadata presence table identifies a presence of one or more branches different from the line of metadata, accessing the higher-level structure for the line of metadata.

4. The computer-implemented method of claim 1 further comprising stalling a prediction pipeline and accessing the higher-level structure for the line of metadata, responsive to the metadata presence information identifying a presence of one or more branches different from the line of metadata.

5. The computer-implemented method of claim 1 further comprising:

responsive to determining a miss associated with the instruction cache and responsive to determining that the incomplete hit occurred for the line of metadata in the lower-level structure, accessing the higher-level structure for the line of metadata.

6. The computer-implemented method of claim 1 further comprising, responsive to a given metadata presence information being available, writing the given metadata presence information into the metadata presence table based on an associated instruction line being in an instruction cache.

7. The computer-implemented method of claim 1 further comprising: responsive to a given metadata presence information being available, writing the given metadata presence information into a buffer; confirming that an associated instruction line is in a set predictor table; and writing the given metadata presence information from the buffer into the metadata presence table, responsive to the confirming.

8. The computer-implemented method of claim 1 , wherein determining that the incomplete hit occurred for the line of metadata in the lower-level structure and determining that the metadata presence information in the metadata presence table is the match to the line of metadata from the lower-level structure are executed asynchronously to an instruction pipeline.

9. 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 operations comprising:

determining that an incomplete hit occurred for a line of metadata in a lower-level structure of the one or more processors, the lower-level structure being coupled to a higher-level structure in a hierarchy, the line of metadata comprising parts, wherein the incomplete hit identifies branch information for at least one of the parts but does not identify branch information for another one of the parts;

determining that metadata presence information in a metadata presence table of the one or more processors is a match to the line of metadata from the lower-level structure, the metadata presence table comprising the parts of the line of metadata that are known by the lower-level structure and the higher-level structure;

responsive to determining a hit associated with an instruction cache, responsive to determining that the incomplete hit occurred for the line of metadata in the lower-level structure, and responsive to determining that the metadata presence information in the metadata presence table identifies a presence of one or more branches different from the line of metadata, accessing the higher-level structure for the line of metadata; and

responsive to determining the match, determining to avoid accessing the higher-level structure of the one or more processors in order to improve performance of the one or more processors.

10. The system of claim 9 , wherein the metadata presence information identifies a presence of one or more branches different from the line of metadata.

11. The system of claim 9 , wherein the operations further comprise, responsive to determining that the metadata presence information in the metadata presence table identifies a presence of one or more branches different from the line of metadata, accessing the higher-level structure for the line of metadata.

12. The system of claim 9 , wherein the operations further comprise stalling a prediction pipeline and accessing the higher-level structure for the line of metadata, responsive to the metadata presence information identifying a presence of one or more branches different from the line of metadata.

13. The system of claim 9 , wherein the operations further comprise:

responsive to determining a miss associated with the instruction cache and responsive to determining that the incomplete hit occurred for the line of metadata in the lower-level structure, accessing the higher-level structure for the line of metadata.

14. The system of claim 9 , wherein the operations further comprise, responsive to a given metadata presence information being available, writing the given metadata presence information into the metadata presence table based on an associated instruction line being in an instruction cache.

15. The system of claim 9 , wherein the operations further comprise:

responsive to a given metadata presence information being available, writing the given metadata presence information into a buffer; confirming that an associated instruction line is in a set predictor table; and writing the given metadata presence information from the buffer into the metadata presence table, responsive to the confirming.

16. 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 operations comprising:

determining that an incomplete hit occurred for a line of metadata in a lower-level structure of the one or more processors, the lower-level structure being coupled to a higher-level structure in a hierarchy, the line of metadata comprising parts, wherein the incomplete hit identifies branch information for at least one of the parts but does not identify branch information for another one of the parts;

determining that metadata presence information in a metadata presence table of the one or more processors is a match to the line of metadata from the lower-level structure, the metadata presence table comprising the parts of the line of metadata that are known by the lower-level structure and the higher-level structure;

responsive to determining a hit associated with an instruction cache, responsive to determining that the incomplete hit occurred for the line of metadata in the lower-level structure, and responsive to determining that the metadata presence information in the metadata presence table identifies a presence of one or more branches different from the line of metadata, accessing the higher-level structure for the line of metadata; and

responsive to determining the match, determining to avoid accessing the higher-level structure of the one or more processors in order to improve performance of the one or more processors.

17. The computer program product of claim 16 , wherein the metadata presence information identifies a presence of one or more branches different from the line of metadata.

18. The computer program product of claim 16 further comprising, responsive to determining that the metadata presence information in the metadata presence table identifies a presence of one or more branches different from the line of metadata, accessing the higher-level structure for the line of metadata.

19. The computer program product of claim 16 further comprising stalling a prediction pipeline and accessing the higher-level structure for the line of metadata, responsive to the metadata presence information identifying a presence of one or more branches different from the line of metadata.

20. The computer program product of claim 16 further comprising:

responsive to determining a miss associated with the instruction cache and responsive to determining that the incomplete hit occurred for the line of metadata in the lower-level structure, accessing the higher-level structure for the line of metadata.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: COLLURA, ADAM BENJAMIN; BONANNO, JAMES; PRASKY, BRIAN ROBERT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057230/0786 →
Continuity (1)
Related Publication 20230053733A1 · Feb 23, 2023
Cited By (1)
US 12,547,408