Predictor data structure for use in pipelined processing

US9513924B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9513924-B2
Application numberUS-201313931671-A
CountryUS
Kind codeB2
Filing dateJun 28, 2013
Priority dateJun 28, 2013
Publication dateDec 6, 2016
Grant dateDec 6, 2016

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 predictor data structure is used for pipelined processing by a pipelined processor. The predictor data structure includes a predicted address to be used in return from execution of a selected instruction, and a predicted operating state associated with the predicted address. Based on determining a selected return instruction is to be executed, the predicted address to which processing is to be returned is obtained from the predictor data structure. Further, based on determining the selected return instruction is to be executed, a transitional operating state to be entered based on the predicted operating state stored in the predictor data structure is predicted, wherein at least one of the predicted address and the predicted transitional operating state are to be used to validate execution of the selected return instruction.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for facilitating processing within a processing environment, the computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method, the method comprising: using a predictor data structure for pipelined processing by a pipelined processor, said predictor data structure comprising a predicted address to be used in return from execution of a selected instruction, and a predicted operating state associated with the predicted address, wherein the predicted operating state includes a privilege level of an instruction to be accessed at the predicted address; based on determining a selected return instruction is to be executed, obtaining from the predictor data structure the predicted address to which processing is to be returned; and based on determining the selected return instruction is to be executed, predicting a transitional operating state to be entered based on the predicted operating state stored in the predictor data structure, wherein at least one of the predicted address and the predicted transitional operating state are to be used to validate execution of the selected return instruction. 2. The computer program product of claim 1 , wherein the selected instruction comprises one of a system call instruction, a hypervisor call instruction or an asynchronous interruption. 3. The computer program product of claim 2 , wherein the method further comprises placing the predicted address and the predicted operating state corresponding to a future anticipated return on the predictor data structure, based on execution of the selected instruction. 4. The computer program product of claim 1 , wherein the method further comprises validating execution of the selected return instruction, wherein the validating comprises: comparing at least a portion of the predicted transitional operating state with obtained operating state; and proceeding with execution of the selected return instruction, based on the comparing indicating a match; and performing recovery of the selected return instruction, based on the comparing indicating a discrepancy. 5. The computer program product of claim 4 , wherein the proceeding with execution comprises: unblocking one or more instructions held at dispatch; and completing execution of the selected return instruction. 6. The computer program product of claim 4 , wherein the performing recovery comprises: performing a flush of the pipelined processor, the performing the flush providing a new fetch address and new speculative operating state; based on performing the flush, initiating a fetch of an instruction at the new fetch address; and processing the instruction fetched at the new fetch address based on the new speculative operating state. 7. The computer program product of claim 1 , wherein the predicted operating state is maintained in a decode unit of the pipelined processor, and is separate from a non-speculative operating state maintained in an execute unit of the pipelined processor. 8. The computer program product of claim 1 , wherein the selected return instruction comprises one of a return from system call instruction, a return from hypervisor call instruction or a return from an asynchronous interruption. 9. The computer program product of claim 1 , wherein the predictor data structure further comprises an indicator of a creator responsible for placing the predicted operating state in the data structure. 10. A computer system for facilitating processing within a processing environment, the computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising: using a predictor data structure for pipelined processing by a pipelined processor, said predictor data structure comprising a predicted address to be used in return from execution of a selected instruction, and a predicted operating state associated with the predicted address, wherein the predicted operating state includes a privilege level of an instruction to be accessed at the predicted address; based on determining a selected return instruction is to be executed, obtaining from the predictor data structure the predicted address to which processing is to be returned; and based on determining the selected return instruction is to be executed, predicting a transitional operating state to be entered based on the predicted operating state stored in the predictor data structure, wherein at least one of the predicted address and the predicted transitional operating state are to be used to validate execution of the selected return instruction. 11. The computer system of claim 10 , wherein the selected instruction comprises one of a system call instruction, a hypervisor call instruction or an asynchronous interruption. 12. The computer system of claim 11 , wherein the method further comprises placing the predicted address and the predicted operating state corresponding to a future anticipated return on the predictor data structure, based on execution of the selected instruction. 13. The computer system of claim 10 , wherein the method further comprises validating execution of the selected return instruction, wherein the validating comprises: comparing at least a portion of the predicted transitional operating state with obtained operating state; and proceeding with execution of the selected return instruction, based on the comparing indicating a match; and performing recovery of the selected return instruction, based on the comparing indicating a discrepancy. 14. The computer system of claim 13 , wherein the proceeding with execution comprises: unblocking one or more instructions held at dispatch; and completing execution of the selected return instruction. 15. The computer system of claim 10 , wherein the predicted operating state is maintained in a decode unit of the pipelined processor, and is separate from a non-speculative operating state maintained in an execute unit of the pipelined processor.

Assignees

Inventors

Classifications

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • according to execution mode, e.g. mode flag · CPC title

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

  • Unconditional branch instructions · CPC title

  • to perform miscellaneous control operations, e.g. NOP · 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 US9513924B2 cover?
A predictor data structure is used for pipelined processing by a pipelined processor. The predictor data structure includes a predicted address to be used in return from execution of a selected instruction, and a predicted operating state associated with the predicted address. Based on determining a selected return instruction is to be executed, the predicted address to which processing is to b…
Who is the assignee on this patent?
Globalfoundries Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3861. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2016 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).