IP Library › Granted Patent US 11,782,838
Granted Patent B2
US 11,782,838 · App. 17/219,769 · Granted Oct 10, 2023

Command processor prefetch techniques

Inventors: Anirudh R. Acharya (San Diego, CA); Alexander Fuad Ashkar (Orlando, FL)
Assignee: Advanced Micro Devices, Inc.
G06F12/0862G06F12/0875G06F12/10G06F2212/6024
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,838
App. No.
17/219,769
Granted
Oct 10, 2023
Kind
B2
Abstract

Techniques for prefetching are provided. The techniques include receiving a first prefetch command; in response to determining that a history buffer indicates that first information associated with the first prefetch command has not already been prefetched, prefetching the first information into a memory; receiving a second prefetch command; and in response to determining that the history buffer indicates that second information associated with the second prefetch command has already been prefetched, avoiding prefetching the second information into the memory.

Claims (46)

1. A method for prefetching, the method comprising:

receiving a first prefetch command;

in response to determining that a prefetch history buffer indicates that first information associated with the first prefetch command has not already been prefetched, prefetching the first information into a memory;

receiving a second prefetch command;

in response to determining that the history buffer indicates that second information associated with the second prefetch command has already been prefetched, avoiding prefetching the second information into the memory;

receiving a third prefetch command that specifies third information and includes an override indication; and

prefetching the third information into the memory despite the prefetch history buffer indicating that the third information has already been prefetched.

2. The method of claim 1 , further comprising invalidating the history buffer in response to the memory being invalidated.

3. The method of claim 1 , wherein the first prefetch command is implicit or explicit.

4. The method of claim 1 , wherein prefetching information into the memory occurs before the information is requested to be accessed by an entity that consumes the information.

5. The method of claim 1 , wherein the memory is a cache that stores shader program instructions for an accelerated processing device.

6. The method of claim 1 , wherein the prefetch history buffer includes a plurality of entries, each of which specifies one or more addresses.

7. The method of claim 1 , further comprising:

prefetching address translations associated with the first information into an address translation cache.

8. The method of claim 7 , wherein prefetching the address translations occurs in response to determining that an address translation prefetch history buffer indicates that the address translations have not yet been prefetched into the address translation cache.

9. A system comprising:

a memory; and

a prefetcher configured to:

receive a first prefetch command;

in response to determining that a prefetch history buffer indicates that first information associated with the first prefetch command has not already been prefetched, prefetch the first information into a memory;

receive a second prefetch command;

in response to determining that the history buffer indicates that second information associated with the second prefetch command has already been prefetched, avoid prefetching the second information into the memory;

receiving a third prefetch command that specifies third information and includes an override indication; and

prefetching the third information into the memory despite the prefetch history buffer indicating that the third information has already been prefetched.

10. The system of claim 9 , wherein the prefetcher is further configured to invalidate the history buffer in response to the memory being invalidated.

11. The system of claim 9 , wherein the first prefetch command is implicit or explicit.

12. The system of claim 9 , wherein prefetching information into the memory occurs before the information is requested to be accessed by an entity that consumes the information.

13. The system of claim 9 , wherein the memory is a cache configured to store shader program instructions for an accelerated processing device.

14. The system of claim 9 , wherein the prefetch history buffer includes a plurality of entries, each of which specifies one or more addresses.

15. The system of claim 9 , wherein the prefetcher is further configured to:

prefetch address translations associated with the first information into an address translation cache.

16. The system of claim 15 , wherein prefetching the address translations occurs in response to determining that an address translation prefetch history buffer indicates that the address translations have not yet been prefetched into the address translation cache.

17. An accelerated processing device, comprising:

a compute unit configured to execute shader programs;

a memory; and

a prefetcher configured to:

receive a first prefetch command;

in response to determining that a prefetch history buffer indicates that first information associated with the first prefetch command has not already been prefetched, prefetch the first information into a memory;

receive a second prefetch command;

in response to determining that the prefetch history buffer indicates that second information associated with the second prefetch command has already been prefetched, avoid prefetching the second information into the memory,

receiving a third prefetch command that specifies third information and includes an override indication; and

prefetching the third information into the memory despite the prefetch history buffer indicating that the third information has already been prefetched,

wherein the first information includes at least one portion of a shader program for execution by the compute unit.

18. The accelerated processing device of claim 17 , wherein the prefetcher is further configured to invalidate the history buffer in response to the memory being invalidated.

19. The accelerated processing device of claim 17 , wherein the first prefetch command is implicit or explicit.

20. The accelerated processing device of claim 17 , wherein prefetching information into the memory occurs before the information is requested to be accessed by an entity that consumes the information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2021
From: ACHARYA, ANIRUDH R.; ASHKAR, ALEXANDER FUAD
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 056448/0935 →
Continuity (2)
Provisional Application 63065985 · Aug 14, 2020
Related Publication 20220050781A1 · Feb 17, 2022