Method and system for coordinating baseline and secondary prefetchers

US10678692B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10678692-B2
Application numberUS-201715709285-A
CountryUS
Kind codeB2
Filing dateSep 19, 2017
Priority dateSep 19, 2017
Publication dateJun 9, 2020
Grant dateJun 9, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment, a processor comprises a first prefetcher to generate prefetch requests to prefetch data into a mid-level cache; a second prefetcher to generate prefetch requests to prefetch data into the mid-level cache; and a prefetcher selector to select a prefetcher configuration for the first prefetcher and the second prefetcher based on at least one memory access metric, wherein the prefetcher configuration is to specify whether the first prefetcher is to be enabled to issue, to the mid-level cache, prefetch requests for data of a particular page and whether the second prefetcher is to be enabled to issue, to the mid-level cache, prefetch requests for data of the particular page.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: a first prefetcher comprising circuitry, the first prefetcher configured to generate prefetch requests to prefetch data into a mid-level cache; a second prefetcher comprising circuitry, the second prefetcher configured to generate prefetch requests to prefetch data into the mid-level cache; a prefetcher selector to select a prefetcher configuration for the first prefetcher and the second prefetcher based on at least one memory access metric, wherein the prefetcher configuration is to specify whether the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of a particular page and whether the second prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page, wherein the selected prefetcher configuration is to specify that the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page; and wherein the prefetcher configuration is modifiable by the prefetcher selector to specify that the first prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page. 2. The processor of claim 1 , wherein the prefetcher configuration is selected from a first configuration to specify that the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page, a second configuration to specify that the first prefetcher is not enabled to issue, to the mid-level cache, prefetch data of the particular page and the second prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page, and a third configuration to specify that the first prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page. 3. The processor of claim 1 , wherein the prefetcher configuration is modified by the prefetcher selector to specify that the first prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page. 4. The processor of claim 1 , wherein the prefetcher selector is further to select a second prefetcher configuration for the first prefetcher and the second prefetcher, wherein the second prefetcher configuration is to specify whether the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of a second page and whether the second prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the second page, and wherein the prefetcher configuration and the second prefetcher configuration are to be concurrently applied to the first prefetcher and the second prefetcher. 5. The processor of claim 1 , wherein the at least one memory access metric comprises a number of times that data of the particular page has been requested. 6. The processor of claim 1 , wherein the at least one memory access metric comprises a number of times that the second prefetcher has generated accurate prefetch requests for data of the particular page. 7. The processor of claim 1 , wherein the at least one memory access metric comprises a metric based upon a number of times that data of a plurality of pages has been requested. 8. The processor of claim 1 , wherein the at least one memory access metric comprises a metric based upon a number of times that the second prefetcher has generated accurate prefetch requests for data of a plurality of pages. 9. The processor of claim 1 , wherein the prefetcher selector is to select the prefetcher configuration as an initial prefetcher configuration for the particular page based on requests made for data of a plurality of other pages and to change the prefetcher configuration based on requests made for data of the particular page. 10. The processor of claim 1 , wherein data identified by the prefetch requests generated by the first prefetcher and the second prefetcher comprises instructions to be executed by a core of the processor. 11. The processor of claim 1 , wherein data identified by the prefetch requests generated by the first prefetcher and the second prefetcher comprises data operands to be used during execution of instructions by a core of the processor. 12. A method comprising: generating, by a first prefetcher, prefetch requests to prefetch data into a mid-level cache; generating, by a second prefetcher, prefetch requests to prefetch data into the mid-level cache; selecting, by a prefetcher selector, a prefetcher configuration for the first prefetcher and the second prefetcher based on at least one memory access metric, wherein the prefetcher configuration is to specify whether the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of a particular page and whether the second prefetcher is to be enabled to issue, to the mid-level cache, prefetch requests for data of the particular page, wherein the selected prefetcher configuration is to specify that the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page; and modifying, by the prefetcher selector, the prefetcher configuration to specify that the first prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page and the second prefetcher is not enabled to issue, to the mid-level cache, prefetch requests for data of the particular page. 13. The method of claim 12 , wherein the at least one memory access metric comprises a number of times that data of the particular page has been requested. 14. The method of claim 12 , wherein the at least one memory access metric comprises a number of times that the second prefetcher has generated accurate prefetch requests for data of the particular page. 15. The method of claim 12 , wherein the at least one memory access metric comprises a metric based upon a number of times that data of a plurality of pages has been requested. 16. A system comprising: a system memory; and a processor comprising: a mid-level cache; a first prefetcher configured to generate prefetch requests to prefetch data from the system memory into the mid-level cache; a second prefetcher configured to generate prefetch requests to prefetch data from the system memory into the mid-level cache; a prefetcher selector to select a prefetcher configuration for the first prefetcher and the second prefetcher based on at least one memory access metric, wherein the prefetcher configuration is to specify whether the first prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of a particular page and whether the second prefetcher is enabled to issue, to the mid-level cache, prefetch requests for data of the particular page, wherein the selected prefetcher configuration k to specify that the first prefetch

Assignees

Inventors

Classifications

  • Multiuser, multiprocessor or multiprocessing cache systems · CPC title

  • Details relating to cache prefetching · CPC title

  • with prefetch · CPC title

  • Prefetch instructions; cache control instructions · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10678692B2 cover?
In one embodiment, a processor comprises a first prefetcher to generate prefetch requests to prefetch data into a mid-level cache; a second prefetcher to generate prefetch requests to prefetch data into the mid-level cache; and a prefetcher selector to select a prefetcher configuration for the first prefetcher and the second prefetcher based on at least one memory access metric, wherein the pre…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0862. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 09 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).