Software translation prefetch instructions

US10754791B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10754791-B2
Application numberUS-201916237780-A
CountryUS
Kind codeB2
Filing dateJan 2, 2019
Priority dateJan 2, 2019
Publication dateAug 25, 2020
Grant dateAug 25, 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.

Examples of techniques for software translation prefetch instructions are described herein. An aspect includes, based on encountering a translation prefetch instruction in software that is being executed by a processor, determining whether an address translation corresponding to the translation prefetch instruction is located in a translation lookaside buffer (TLB) of the processor. Another aspect includes, based on determining that the address translation is not located in the TLB, issuing an address translation request corresponding to the translation prefetch instruction. Another aspect includes storing an address translation corresponding to the address translation request in the TLB.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising a processor configured to: based on encountering a translation prefetch instruction in software that is being executed by the processor: determining whether an address translation corresponding to the translation prefetch instruction is located in a translation lookaside buffer (TLB) of the processor; based on determining that the address translation is not located in the TLB, issuing an address translation request corresponding to the translation prefetch instruction; and storing an address translation corresponding to the address translation request in the TLB; wherein the translation prefetch instruction is located before a data prefetch instruction in the software, and wherein the data prefetch instruction uses the address translation corresponding to the translation prefetch instruction in the TLB. 2. The system of claim 1 , wherein the translation prefetch instruction corresponds to an instruction set architecture (ISA) of the processor. 3. The system of claim 1 , the processor configured to: based on determining that the address translation is not located in the TLB, reserve an entry corresponding to the translation prefetch instruction in a translation miss queue. 4. The system of claim 3 , the processor configured to: based on reserving the entry corresponding to the translation prefetch instruction in the translation miss queue, retire the translation prefetch instruction in a pipeline of the processor. 5. The system of claim 3 , the processor configured to: based on storing the address translation corresponding to the address translation request in the TLB, release the entry corresponding to the translation prefetch instruction in the translation miss queue. 6. The system of claim 1 , wherein the translation prefetch instruction comprises a virtual memory address, and wherein the address translation comprises a real memory address. 7. A computer-implemented method, comprising: based on encountering a translation prefetch instruction in software that is being executed by a processor: determining, by the processor, whether an address translation corresponding to the translation prefetch instruction is located in a translation lookaside buffer (TLB) of the processor; based on determining that the address translation is not located in the TLB, issuing an address translation request corresponding to the translation prefetch instruction; and storing an address translation corresponding to the address translation request in the TLB; wherein the translation prefetch instruction is located before a data prefetch instruction in the software, and wherein the data prefetch instruction uses the address translation corresponding to the translation prefetch instruction in the TLB. 8. The computer-implemented method of claim 7 , wherein the translation prefetch instruction corresponds to an instruction set architecture (ISA) of the processor. 9. The computer-implemented method of claim 7 , further comprising: based on determining that the address translation is not located in the TLB, reserve an entry corresponding to the translation prefetch instruction in a translation miss queue. 10. The computer-implemented method of claim 9 , further comprising: based on reserving the entry corresponding to the translation prefetch instruction in the translation miss queue, retire the translation prefetch instruction in a pipeline of the processor. 11. The computer-implemented method of claim 9 , further comprising: based on storing the address translation corresponding to the address translation request in the TLB, release the entry corresponding to the translation prefetch instruction in the translation miss queue. 12. The computer-implemented method of claim 7 , wherein the translation prefetch instruction comprises a virtual memory address, and wherein the address translation comprises a real memory address. 13. 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: based on encountering a translation prefetch instruction in software that is being executed by a processor: determining whether an address translation corresponding to the translation prefetch instruction is located in a translation lookaside buffer (TLB) of the processor; based on determining that the address translation is not located in the TLB, issuing an address translation request corresponding to the translation prefetch instruction; and storing an address translation corresponding to the address translation request in the TLB; wherein the translation prefetch instruction is located before a data prefetch instruction in the software, and wherein the data prefetch instruction uses the address translation corresponding to the translation prefetch instruction in the TLB. 14. The computer program product of claim 13 , wherein the translation prefetch instruction corresponds to an instruction set architecture (ISA) of the processor. 15. The computer program product of claim 13 , further comprising: based on determining that the address translation is not located in the TLB, reserve an entry corresponding to the translation prefetch instruction in a translation miss queue. 16. The computer program product of claim 15 , further comprising: based on reserving the entry corresponding to the translation prefetch instruction in the translation miss queue, retire the translation prefetch instruction in a pipeline of the processor. 17. The computer program product of claim 15 , further comprising: based on storing the address translation corresponding to the address translation request in the TLB, release the entry corresponding to the translation prefetch instruction in the translation miss queue. 18. The computer program product of claim 13 , wherein the translation prefetch instruction comprises a virtual memory address, and wherein the address translation comprises a real memory address.

Assignees

Inventors

Classifications

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 US10754791B2 cover?
Examples of techniques for software translation prefetch instructions are described herein. An aspect includes, based on encountering a translation prefetch instruction in software that is being executed by a processor, determining whether an address translation corresponding to the translation prefetch instruction is located in a translation lookaside buffer (TLB) of the processor. Another asp…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/1045. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 25 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).