Gathering and scattering multiple data elements

US10175990B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10175990-B2
Application numberUS-201313898189-A
CountryUS
Kind codeB2
Filing dateMay 20, 2013
Priority dateDec 22, 2009
Publication dateJan 8, 2019
Grant dateJan 8, 2019

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.

According to a first aspect, efficient data transfer operations can be achieved by: decoding by a processor device, a single instruction specifying a transfer operation for a plurality of data elements between a first storage location and a second storage location; issuing the single instruction for execution by an execution unit in the processor; detecting an occurrence of an exception during execution of the single instruction; and in response to the exception, delivering pending traps or interrupts to an exception handler prior to delivering the exception.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: a decoder stage to decode a single instruction for accessing data elements at a plurality of non-register memory locations; and at least one execution unit, coupled to the decode stage to receive the decoded instruction and responsive to the decoded instruction, to: issue accesses to at least one of the plurality of memory locations; detect when any exceptions occur due to the accesses to the at least of the plurality of non-register memory locations; store accessed data elements that do not have exceptions; and handle any pending interrupts upon completion of the single instruction. 2. The processor of claim 1 , the one or more execution units further to: detect if any traps or interrupts occur; and record detected traps or interrupts as pending traps or interrupts. 3. The processor of claim 2 wherein detecting if any traps or interrupts occur includes detecting any breakpoints. 4. The processor of claim 3 , the one or more execution units further to: set a flag in response to said handling of any traps or interrupts. 5. The processor of claim 4 , the one or more execution units further to: not handle a pending breakpoint upon said completion of the single instruction, or detection of a fault or an exception, whenever the flag has been set. 6. The processor of claim 5 wherein the flag is an EFLAG.RF. 7. The processor of claim 2 , the one or more execution units further to: clear any corresponding state elements in a mask register. 8. The processor of claim 2 , the one or more execution units further to: store the data elements at the plurality of memory locations of an addressable memory; and clear any corresponding state elements in a mask register. 9. A processor comprising: a decoder stage to decode a single instruction for accessing data elements at a plurality of non-register memory locations; and at least one execution unit, coupled to the decoder to receive the decoded instruction and responsive to the decoded instruction, to: issue accesses to at least one of the plurality of memory locations; detect when any interrupts occur; record detected traps or interrupts as pending interrupts; detect when any exceptions occur due to the accesses to the at least of the plurality of memory locations; and handle any pending interrupts upon completion of the single instruction. 10. The processor of claim 9 wherein detecting if any traps or interrupts occur includes detecting if any breakpoints occur. 11. The processor of claim 9 , the one or more execution units further to: set a flag in response to said handling of any traps or interrupts. 12. The processor of claim 11 wherein the flag is an EFLAG.RF. 13. The processor of claim 10 , the one or more execution units further to: store the data elements in a destination register; and clear any corresponding state elements in a mask register. 14. The processor of claim 10 , the one or more execution units further to: store the data elements at the plurality of memory locations of an addressable memory; and clear any corresponding state elements in a mask register. 15. A method comprising: decoding a single instruction for accessing data elements at a plurality of non-register memory locations; and receiving the decoded instruction in at least one execution unit and responsive to receiving the decoded instruction: issuing accesses to at least one of the plurality of memory locations; detecting when any faults or exceptions occur due to the accesses to the at least of the plurality of memory locations; storing accessed data elements that do not have exceptions; and handling any pending interrupts upon completion of the single instruction. 16. The method of claim 15 , further responsive to receiving said decoded instruction, the one or more execution units: detecting if any traps or interrupts occur; and recording detected traps or interrupts as pending traps or interrupts. 17. The method of claim 16 wherein detecting if any traps or interrupts occur includes detecting any breakpoints. 18. The method of claim 17 , further responsive to receiving said decoded instruction, the one or more execution units: setting a flag in response to said handling of any traps or interrupts. 19. The method of claim 18 , further responsive to receiving said decoded instruction, the one or more execution units: not handling a pending breakpoint upon said completion of the single instruction, or detection of a fault or an exception, whenever the flag has been set. 20. The method of claim 19 wherein the flag is an EFLAG.RF. 21. The method of claim 19 , further responsive to receiving said decoded instruction, the one or more execution units: storing the data elements at the plurality of memory locations of an addressable memory; and clearing any corresponding state elements in a mask register. 22. A system comprising: a memory controller coupled to a plurality of memory locations; and a processor coupled to the memory controller, the processor comprising: a decoder stage to decode a single instruction for accessing data elements at the plurality of non-register memory locations; and at least one execution unit, coupled to the decoder to receive the decoded instruction and responsive to the decoded instruction, to: issue accesses to at least one of the plurality of memory locations; detect when any exceptions occur due to the accesses to the at least of the plurality of memory locations; store accessed data elements that do not have exceptions; and handle any pending interrupts upon completion of the single instruction. 23. The system of claim 22 , the one or more execution units further to: detect if any traps or interrupts occur; and record detected traps or interrupts as pending traps or interrupts. 24. The system of claim 23 wherein detecting if any traps or interrupts occur includes detecting any breakpoints. 25. The system of claim 24 , the one or more execution units further to: store the data elements in a destination register; and clear any corresponding state elements in a mask register.

Assignees

Inventors

Classifications

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

  • G06F9/3861Primary

    Recovery, e.g. branch miss-prediction, exception handling (error detection or correction G06F11/00) · CPC title

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

  • of multiple operands or results {(addressing multiple banks G06F12/06)} · CPC title

  • LOAD or STORE instructions; Clear instruction · 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 US10175990B2 cover?
According to a first aspect, efficient data transfer operations can be achieved by: decoding by a processor device, a single instruction specifying a transfer operation for a plurality of data elements between a first storage location and a second storage location; issuing the single instruction for execution by an execution unit in the processor; detecting an occurrence of an exception during …
Who is the assignee on this patent?
Intel Corp
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 Jan 08 2019 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).