Apparatus and method for vectorization with speculation support

US9268626B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9268626-B2
Application numberUS-201113997664-A
CountryUS
Kind codeB2
Filing dateDec 23, 2011
Priority dateDec 23, 2011
Publication dateFeb 23, 2016
Grant dateFeb 23, 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.

An apparatus and method are described for detecting and responding to fault conditions in a processor. For example, one embodiment of a method comprises: reading each active element in succession from a first vector register, each active element specifying an address for a gather or load operation; detecting one or more fault conditions associated with one or more of the active elements; for each active element read in succession prior to a detected fault condition on an element other than the first active element, storing the data loaded from an address associated with the active element in a first output vector register; and for each active element associated with the detected fault condition and following the detected fault condition, setting a bit in an output mask register to indicate the detected fault condition.

First claim

Opening claim text (preview).

We claim: 1. A processor for providing speculation support enabling vectorization, the processor to execute one or more instructions to perform the operations of: reading each active element in succession from an input vector register, each active element specifying an address for a gather or load operation; detecting one or more fault conditions associated with one or more of the active elements; for each active element read in succession prior to a detected fault condition on an element other than the first active element, storing data loaded from an address associated with the active element in an output vector register; for each active element associated with the detected fault condition and following the detected fault condition; setting a bit in an output mask register to indicate the detected fault condition, and storing data loaded from the active element in the output vector register if the active element is not the first active element; and performing the gather or load operation on the active elements based on the loaded data. 2. The processor as in claim 1 to perform the additional operations of: storing data loaded from an address associated with the first active element after servicing any detected fault condition in the output vector register. 3. The processor as in claim 1 to perform the additional operations of: reading each bit in succession from an input mask register, each bit having a true value to indicate each active element read from the input vector register and a false value to indicate each inactive element read from the input vector register. 4. The processor as in claim 3 wherein the input mask register comprises the same physical register as the output mask register. 5. The processor as in claim 1 to perform the additional operations of: adding a base address value to each address read from the input vector register to arrive at a memory address for the gather or load operation; and storing data loaded from each memory address in the output vector register for each active element prior to the detected fault condition. 6. A method comprising: reading each active element in succession from an input vector register, each active element specifying an address for a gather or load operation by a processor; detecting one or more fault conditions associated with one or more of the active elements; for each active element read in succession prior to a detected fault condition on an element other than the first active element, storing data loaded from the address associated with the active element in an output vector register; for each active element associated with the detected fault condition and following the detected fault condition; setting a bit in an output mask register to indicate the detected fault condition, and storing data loaded from the active element in the output vector register if the active element is not the first active element; and performing the gather or load operation by the processor on the active elements based on the loaded data. 7. The method claim 6 further comprising: storing data loaded from an address associated with the first active element after servicing any detected fault condition in the output vector register. 8. The method as in claim 6 further comprising: reading each bit in succession from an input mask register, each bit having a true value to indicate each active element read from the input vector register and a false value to indicate each inactive element read from the input vector register. 9. The method as in claim 8 wherein the input mask register comprises the same physical register as the output mask register. 10. The method as in claim 6 further comprising: adding a base address value to each address read from the input vector register to arrive at a memory address for the gather or load operation; and storing data loaded from each memory address in the output vector register for each active element prior to the detected fault condition. 11. A computer system comprising: a memory for storing program instructions and data; a processor to execute one or more of the program instructions to perform the operations of: reading each active element in succession from an input vector register, each active element specifying an address for a gather or load operation; detecting one or more fault conditions associated with one or more of the active elements; for each active element read in succession prior to a detected fault condition on an element other than the first active element, storing the address associated with the active element in an output vector register; for each active element associated with the detected fault condition and following the detected fault condition; setting a bit in an output mask register to indicate the detected fault condition, and storing data loaded from the active element associated in the output vector register if the active element is not the first active element; and performing the gather or load operation on the active elements based on the loaded data. 12. The system as in claim 11 wherein the processor is to perform the additional operations of: storing data loaded from an address associated with the first active element after servicing any detected fault condition in the output vector register. 13. The system as in claim 11 wherein the processor is to perform the additional operations of: reading each bit in succession from an input mask register, each bit having a true value to indicate each active element read from the input vector register and a false value to indicate each inactive element read from the input vector register. 14. The system as in claim 13 wherein the input mask register comprises the same physical register as the output mask register. 15. The system as in claim 11 wherein the processor is to perform the additional operations of: adding a base address value to each address read from the input vector register to arrive at a memory address for the gather or load operation; and storing data loaded from each memory address in the output vector register for each active element prior to the detected fault condition. 16. The computer system as in claim 15 further comprising: a user input interface to receive control signals from a user input device, the processor executing the program instructions in response to the control signals. 17. The computer system as in claim 11 further comprising: a display adapter to render graphics images in response to execution of the program instructions by the processor.

Assignees

Inventors

Classifications

  • Bit or string instructions · CPC title

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title

  • Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · CPC title

  • LOAD or STORE instructions; Clear instruction · CPC title

  • using a mask · 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 US9268626B2 cover?
An apparatus and method are described for detecting and responding to fault conditions in a processor. For example, one embodiment of a method comprises: reading each active element in succession from a first vector register, each active element specifying an address for a gather or load operation; detecting one or more fault conditions associated with one or more of the active elements; for ea…
Who is the assignee on this patent?
Bharadwaj Jayashankar, Lee Victor W, Daehyun Kim, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F9/30018. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 23 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).