Systems, apparatuses, and methods for performing delta encoding on packed data elements

US9465612B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9465612-B2
Application numberUS-201113976427-A
CountryUS
Kind codeB2
Filing dateDec 28, 2011
Priority dateDec 28, 2011
Publication dateOct 11, 2016
Grant dateOct 11, 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.

Embodiments of systems, apparatuses, and methods for performing delta encoding on packed data elements of a source and storing the results in packed data elements of a destination using a single vector packed delta encode instruction are described.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: decoding a single instruction into a decoded single instruction with a decoder of a processor core; and executing, in an execution unit of the processor core, the decoded single instruction that includes a source operand and a destination operand each having a same plurality of packed data elements and no other elements to calculate for each packed data element position of the source operand, other than a first packed data element position, a value of that packed data element minus a packed data element that is of immediate lesser significance, store a first packed data element from the first packed data element position of the source operand into a corresponding first packed data element position of the destination operand, and for each calculated value, store the value into a packed data element position of the destination operand that corresponds to the packed data element position of the source operand. 2. The method of claim 1 , wherein the source and destination operands are stored in vector registers. 3. The method of claim 2 , wherein the vector registers are 128-bits, 256-bits, or 512-bits in size. 4. The method of claim 1 , wherein the packed data elements are 32-bits in size. 5. The method of claim 1 , wherein each calculated value is calculated by adding a negative version of the packed data element that is of immediate lesser significance to the packed data element of the packed data element position. 6. The method of claim 1 , wherein each calculated value is calculated by subtracting the packed data element that is of immediate lesser significance to the packed data element of the packed data element position. 7. The method of claim 1 , wherein the executing comprises: storing the first packed data element from a least significant packed data element position of the source operand into a corresponding least significant packed data element position of the destination operand. 8. An apparatus comprising: a hardware decoder to decode a single instruction that includes a source operand and a destination operand each having a same plurality of packed data elements and no other elements into a decoded single instruction; and an execution unit to execute the decoded single instruction to calculate for each packed data element position of the source operand, other than a first packed data element position, a value of that packed data element minus a packed data element that is of immediate lesser significance and for each calculated value, store the value into a packed data element position of the destination operand that corresponds to the packed data element of the source operand, and store a first packed data element from the first packed data element position of the source operand into a corresponding first packed data element position of the destination operand. 9. The apparatus of claim 8 , further comprising: a plurality of vector registers, wherein the source and destination operands are to be stored in vector registers. 10. The apparatus of claim 9 , wherein the vector registers are 128-bits, 256-bits, or 512-bits in size. 11. The apparatus of claim 8 , wherein the packed data elements are 32-bits in size. 12. The apparatus of claim 8 , wherein each calculated value is to be calculated by subtracting the packed data element that is of immediate lesser significance to the packed data element of the packed data element position. 13. The apparatus of claim 8 , wherein each calculated value is to be calculated by adding a negative version of the packed data element that is of immediate lesser significance to the packed data element of the packed data element position. 14. The apparatus of claim 8 , wherein the execution unit is to store the first packed data element from a least significant packed data element position of the source operand into a corresponding least significant packed data element position of the destination operand. 15. A non-transitory machine readable medium that stores code that when executed by a machine causes the machine to perform a method comprising: decoding a single instruction into a decoded single instruction with a decoder of a processor core; and executing, in an execution unit of the processor core, the decoded single instruction that includes a source operand and a destination operand each having a same plurality of packed data elements and no other elements to calculate for each packed data element position of the source operand, other than a first packed data element position, a value of that packed data element minus a packed data element that is of immediate lesser significance, store a first packed data element from the first packed data element position of the source operand into a corresponding first packed data element position of the destination operand, and for each calculated value, store the value into a packed data element position of the destination operand that corresponds to the packed data element position of the source operand. 16. The non-transitory machine readable medium of claim 15 , wherein the source and destination operands are stored in vector registers. 17. The non-transitory machine readable medium of claim 15 , wherein the packed data elements are 32-bits in size. 18. The non-transitory machine readable medium of claim 15 , wherein each calculated value is calculated by adding a negative version of the packed data element that is of immediate lesser significance to the packed data element of the packed data element position. 19. The non-transitory machine readable medium of claim 15 , wherein each calculated value is calculated by subtracting the packed data element that is of immediate lesser significance to the packed data element of the packed data element position. 20. The non-transitory machine readable medium of claim 15 , wherein the executing comprises storing the first packed data element from a least significant packed data element position of the source operand into a corresponding least significant packed data element position of the destination operand.

Assignees

Inventors

Classifications

  • according to data content, e.g. floating-point registers, address registers · CPC title

  • G06F9/3001Primary

    Arithmetic instructions · CPC title

  • comprising data of variable length · CPC title

  • characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation (H04N19/635 takes precedence) · CPC title

  • Instruction analysis, e.g. decoding, instruction word fields · 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 US9465612B2 cover?
Embodiments of systems, apparatuses, and methods for performing delta encoding on packed data elements of a source and storing the results in packed data elements of a destination using a single vector packed delta encode instruction are described.
Who is the assignee on this patent?
Ould-Ahmed-Vall Elmoustapha, Willhalm Thomas, Drysdale Tracy Garrett, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/3001. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 11 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).