Dynamic modification of instructions that do not modify the architectural state of a processor

US11157285B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11157285-B2
Application numberUS-202016783347-A
CountryUS
Kind codeB2
Filing dateFeb 6, 2020
Priority dateFeb 6, 2020
Publication dateOct 26, 2021
Grant dateOct 26, 2021

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.

A system and method including a processor configured to, based on encountering an instruction that does not modify the architectural state of the processor, preferably a prefetch instruction, that is being executed by the processor, determine whether utilization of a first queue used in processing the instruction is over a first queue utilization limit; in response to the first queue utilization being over the first queue utilization limit, do not execute the prefetch instruction; and in response to the first queue utilization being under the first queue utilization limit, at least partially process the prefetch instruction.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising a processor configured to: based on encountering a prefetch instruction that is being executed by the processor: determine whether utilization of a first queue used in processing the prefetch instruction is over a first queue utilization limit; in response to the first queue utilization being over the first queue utilization limit, do not execute the prefetch instruction; in response to the first queue utilization being under the first queue utilization limit, at least partially process the prefetch instruction; based on the first queue utilization being under the first queue utilization limit, determine whether utilization of a second queue used in processing the prefetch instruction is over a second queue utilization limit; in response to the second queue utilization being over the second queue utilization limit, do not further execute the prefetch instruction; and in response to the second queue utilization being under the second queue utilization limit, at least partially further process the prefetch instruction. 2. The system of claim 1 , wherein in response to the first queue utilization being over the first queue utilization limit, mark the prefetch instruction complete notwithstanding that the prefetch instruction is not executed. 3. The system of claim 1 , wherein the prefetch instruction is a translation prefetch instruction in software. 4. The system of claim 1 , wherein the processor is further configured to: based on the second queue utilization being under the second queue utilization limit, determine whether utilization of a third queue used in processing the prefetch instruction is over a third queue utilization limit; in response to the third queue utilization being over the third queue utilization limit, do not further execute the prefetch instruction; and in response to the third queue utilization being under the third queue utilization limit, at least partially further process the prefetch instruction. 5. The system of claim 1 , wherein the first queue is a load queue. 6. The system of claim 1 , wherein the second queue is at least one of the group comprising a translation queue and a load-miss queue. 7. The system of claim 1 , wherein the processor is further configured to, in response to the first queue utilization being equal to the first utilization limit, not execute the prefetch instruction. 8. A computer-implemented method, comprising: based on encountering an instruction that does not modify the architectural state of a processor that is being executed by the processor: determine, by the processor, whether a first performance criteria used in processing the instruction is over a first performance threshold; in response to the first performance criteria being over the first performance threshold, do not execute the instruction; in response to the first performance criteria being under the first performance threshold, at least partially process the instruction; based on the first performance criteria being under the first performance threshold, determine whether a second performance criteria used in processing the instruction is over a second performance threshold; in response to the second performance criteria being over the second performance threshold, do not further execute the instruction; and in response to the second performance criteria being under the second performance threshold, at least partially further process the instruction. 9. The computer-implemented method of claim 8 , wherein the instruction that does not modify the architectural state of the processor is at least one of the group consisting of a prefetch instruction, a cache management instruction, and combinations thereof. 10. The computer-implemented method of claim 8 , further comprising in response to the first performance criteria being over the first performance threshold, mark the instruction complete notwithstanding that the instruction is not executed. 11. The computer-implemented method of claim 8 , wherein the first performance criteria is at least one of the group comprising: how full at least one queue is that is used to process the instruction, load bandwidth, processor power utilization, the frequency at which the instruction increases performance, and combinations thereof. 12. The computer-implemented method of claim 8 , wherein the instruction is a translation prefetch instruction and the first performance criteria is at least one of the group comprising utilization of a load queue, utilization of a translation queue, utilization of a load-miss queue, and combinations thereof. 13. The computer-implemented method of claim 8 , further comprising: based on the second performance criteria being under the second performance threshold, determine whether a third performance criteria used in processing the instruction is over a third performance threshold; in response to the third performance criteria being over the third performance threshold, do not further execute the instruction; and in response to the third performance criteria being under the third performance threshold, at least partially further process the instruction. 14. An apparatus, comprising hardware logic configured to: based on encountering a prefetch instruction that is being executed by the processor: determine whether utilization of a first queue used in processing the prefetch instruction is over a first queue utilization limit; in response to the first queue utilization being over the first queue utilization limit, do not execute the prefetch instruction; based on determining the first queue utilization is under the first queue utilization limit, determine whether utilization of a second queue used in processing the instruction is over a second queue utilization limit; in response to the second queue utilization being over the second queue utilization limit, do not further execute the instruction; and in response to the second queue utilization being under the second queue utilization limit, at least partially further process the instruction. 15. The apparatus of claim 14 , wherein the hardware logic is configured to: in response to the first queue utilization being over the first queue utilization limit, mark the prefetch instruction complete notwithstanding that the prefetch instruction is not executed. 16. The apparatus of claim 14 , wherein the hardware logic is configured to process the prefetch instruction and the prefetch instruction is a translation prefetch instruction in software. 17. The apparatus of claim 16 , wherein the first queue utilization is at least one of the group comprising utilization of a load queue, utilization of a translation queue, utilization of a load-miss queue, and combinations thereof. 18. The apparatus of claim 14 , wherein the hardware logic is configured to: based on the second queue utilization being under the second queue utilization limit, determine whether utilization of a third queue used in processing the instruction is over a third queue utilization limit; in response to the third queue utilization being over the third queue utilization limit, do not further execute the instruction; and in response to the third queue utilization being under the third queue limit, at least partially further process the instruction.

Assignees

Inventors

Classifications

  • Prefetching based on hints or prefetch instructions · CPC title

  • with prefetch · CPC title

  • Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title

  • G06F9/3814Primary

    Implementation provisions of instruction buffers, e.g. prefetch buffer; banks · CPC title

  • Prefetch instructions; cache control instructions · 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 US11157285B2 cover?
A system and method including a processor configured to, based on encountering an instruction that does not modify the architectural state of the processor, preferably a prefetch instruction, that is being executed by the processor, determine whether utilization of a first queue used in processing the instruction is over a first queue utilization limit; in response to the first queue utilizatio…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/3814. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 26 2021 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).