Efficient load value prediction

US11243772B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11243772-B2
Application numberUS-201916414415-A
CountryUS
Kind codeB2
Filing dateMay 16, 2019
Priority dateMay 16, 2019
Publication dateFeb 8, 2022
Grant dateFeb 8, 2022

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.

Certain aspects of the present disclosure provide techniques for training load value predictors, comprising: determining if a prediction has been made by one or more of a plurality of load value predictors; determining a misprediction has been made by one or more load value predictors of the plurality of load value predictors; training each of the one or more load value predictors that made the misprediction; and resetting a confidence value associated with each of the one or more load value predictors that made the misprediction.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for training load value predictors, comprising: determining that a plurality of load value predictors have made a plurality of respective predictions that predict a value of respective load instructions; determining that the plurality of respective predictions comprises: one or more incorrect predictions; and one or more correct predictions; training each load value predictor associated with the one or more incorrect predictions; resetting a confidence value associated with each load value predictor associated with the one or more incorrect predictions; classifying a first load value predictor of the plurality of load value predictors as a donor based on determining a first amount of used predictions for the first load value predictor not meeting a threshold; classifying a second load value predictor of the plurality of load value predictors as a receiver based on determining a second amount of used predictions for the second load value predictor meeting the threshold; converting a storage table of the first load value predictor to a storage table of the second load value predictor based on classifying the first load value predictor as the donor and classifying the second load value predictor as the receiver; and not training at least one load value predictor associated with the one or more correct predictions. 2. The method of claim 1 , wherein the plurality of load value predictors comprise: a last value predictor (LVP); a context value predictor (CVP); a stride address predictor (SAP); and a context address predictor (CAP). 3. The method of claim 2 , further comprising: determining that two or more load value predictors of the plurality of load value predictors made the one or more correct predictions; and training only one load value predictor of the two or more load value predictors that has a lowest cost value. 4. The method of claim 3 , wherein: the LVP has a first cost value C LVP , the CVP has a second cost value C CVP , the SAP has a third cost value C SAP , the CAP has a fourth cost value C CAP , and C LVP <C CVP <C SAP <C CAP . 5. The method of claim 4 , further comprising: determining that the SAP is one of the two or more load value predictors that made the one or more correct predictions; determining not to train the SAP; and invalidating the SAP. 6. The method of claim 2 , further comprising: determining that one or more load value predictors of the plurality of load value predictors has made no prediction; and training the one or more load value predictors of the plurality of load value predictors that has made no prediction. 7. The method of claim 1 , wherein training each load value predictor associated with the one or more incorrect predictions comprises training only one load value predictor associated with the one or more incorrect predictions at a time. 8. A processing system for training load value predictors, comprising: a memory comprising computer-executable instructions; a processor configured to execute the computer-executable instructions and cause the processing system to: determine that a plurality of load value predictors have made a plurality of respective predictions that predict a value of respective load instructions; determine that the plurality of respective predictions comprises: one or more incorrect predictions; and one or more correct predictions; train each load value predictor associated with the one or more incorrect predictions; reset a confidence value associated with each load value predictor associated with the one or more incorrect predictions; classify a first load value predictor of the plurality of load value predictors as a donor based on determining a first amount of used predictions for the first load value predictor not meeting a threshold; classify a second load value predictor of the plurality of load value predictors as a receiver based on determining a second amount of used predictions for the second load value predictor meeting the threshold; convert a storage table of the first load value predictor to a storage table of the second load value predictor based on classifying the first load value predictor as the donor and classifying the second load value predictor as the receiver; and not train at least one load value predictor associated with the one or more correct predictions. 9. The processing system of claim 8 , wherein the plurality of load value predictors comprise: a last value predictor (LVP); a context value predictor (CVP); a stride address predictor (SAP); and a context address predictor (CAP), and wherein: the LVP has a first cost value C LVP , the CVP has a second cost value C CVP , the SAP has a third cost value C SAP , the CAP has a fourth cost value C CAP , and C LVP <C CVP <C SAP <C CAP . 10. The processing system of claim 9 , wherein the processor is further configured to cause the processing system to: determine that two or more load value predictors of the plurality of load value predictors made the one or more correct predictions: train only one load value predictor of the two or more load value predictors that has a lowest cost value. 11. The processing system of claim 10 , wherein the processor is further configured to cause the processing system to: determine that the SAP is one of the two or more load value predictors that made the one or more correct predictions; determine not to train the SAP; and invalidate the SAP. 12. The processing system of claim 8 , wherein the processor is further configured to cause the processing system to: determine that one or more load value predictors of the plurality of load value predictors has made no prediction; and train the one or more load value predictors of the plurality of load value predictors that has made no prediction. 13. The processing system of claim 8 , wherein the processor is further configured to cause the processing system to train only one load value predictor associated with the one or more incorrect predictions at a time. 14. A non-transitory computer-readable medium comprising instructions that, when executed by a processor of a processing system, cause the processing system to perform a method for training a plurality of load value predictors, the method comprising: determining that the plurality of load value predictors have made a plurality of respective predictions that predict a value of respective load instruction; determining that the plurality of respective predictions comprises: one or more incorrect predictions, and one or more correct predictions; training each load value predictor associated with one of the one or more incorrect predictions; resetting a confidence value associated with each load value predictor associated with the one or more incorrect predictions; classifying a first load value predictor of the plurality of load value predictors as a donor based on determining a first amount of used predictions for the first load value predictor not meeting a threshold; classifying a second load value predictor of the plurality of load value predictors as a receiver based on determining a second amount of used predictions for the second load value predictor meeting the threshold; converting a storage table of the first load value predictor to a storage table of the second load value predictor based on classifying the first load value predictor as the donor and classifying the second load value predictor as the receiver; and not training at least one load value predictor associated with one of the one or more correct predictions.

Assignees

Inventors

Classifications

  • G06F9/3832Primary

    Value prediction for operands; operand history buffers · CPC title

  • using address prediction, e.g. return stack, branch history buffer · CPC title

  • Speculative instruction execution · CPC title

  • Dependency mechanisms, e.g. register scoreboarding · CPC title

  • Operand prefetching (cache prefetching G06F12/0862) · 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 US11243772B2 cover?
Certain aspects of the present disclosure provide techniques for training load value predictors, comprising: determining if a prediction has been made by one or more of a plurality of load value predictors; determining a misprediction has been made by one or more load value predictors of the plurality of load value predictors; training each of the one or more load value predictors that made the…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3832. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 08 2022 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).