Method and apparatus for performing logical compare operations

US9898285B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9898285-B2
Application numberUS-201615345221-A
CountryUS
Kind codeB2
Filing dateNov 7, 2016
Priority dateSep 21, 2006
Publication dateFeb 20, 2018
Grant dateFeb 20, 2018

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 method and apparatus for including in a processor instructions for performing logical-comparison and branch support operations on packed or unpacked data. In one embodiment, instruction decode logic decodes instructions for an execution unit to operate on packed data elements including logical comparisons. A register file including 128-bit packed data registers stores packed single-precision floating point (SPFP) and packed integer data elements. The logical comparisons may include comparison of SPFP data elements and comparison of integer data elements and setting at least one bit to indicate the results. Based on these comparisons, branch support actions are taken. Such branch support actions may include setting the at least one bit, which in turn may be utilized by a branching unit in response to a branch instruction. Alternatively, the branch support actions may include branching to an indicated target code location.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor, comprising: a cache to store instructions; an instruction decoder to decode the instructions; a set of 128-bit packed data registers to store packed single-precision floating point (SPFP) data elements and packed integer data elements; an execution unit comprising: comparison circuitry to execute a packed SPFP comparison instruction to compare a first packed SPFP data element and a second packed SPFP data element and to responsively set at least one bit in a register to indicate a result of the packed SPFP comparison; the comparison circuitry to further execute a packed integer comparison instruction to compare a first packed integer data element and a second packed integer data element and to responsively set the at least one bit in the register to indicate a result of the packed integer comparison; and a branch circuit to execute a branch instruction to determine a target code location based on the at least one bit set in the register by the packed SPFP or packed integer comparison instructions. 2. The processor of claim 1 wherein the set of 128-bit packed data registers comprises at least one set of physical registers for storing both scalar floating point values and vector data elements. 3. The processor of claim 1 further comprising: instruction fetch circuitry to fetch the instructions. 4. The processor of claim 1 further comprising: a memory interface to couple the processor to a system memory. 5. The processor of claim 1 further comprising: a co-processor interface to couple the processor to one or more external processors. 6. The processor of claim 1 further comprising: a data storage interface to couple the processor to a data storage device. 7. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of: storing instruction in a cache; decoding the instructions; storing packed single-precision floating point (SPFP) data elements and packed integer data elements in a set of 128-bit packed data registers; executing a packed SPFP comparison instruction to compare a first packed SPFP data element and a second packed SPFP data element and responsively setting at least one bit in a register to indicate a result of the packed SPFP comparison; executing a packed integer comparison instruction to compare a first packed integer data element and a second packed integer data element and responsively setting the at least one bit in the register to indicate a result of the packed integer comparison; and executing a branch instruction to determine a target code location based on the at least one bit set in the register by the packed SPFP or packed integer comparison instructions. 8. The non-transitory machine-readable medium of claim 7 wherein the set of 128-bit packed data registers comprises at least one set of physical registers for storing both scalar floating point values and vector data elements. 9. A method comprising: storing instruction in a cache; decoding the instructions; storing packed single-precision floating point (SPFP) data elements and packed integer data elements in a set of 128-bit packed data registers; executing a packed SPFP comparison instruction to compare a first packed SPFP data element and a second packed SPFP data element and responsively setting at least one bit in a register to indicate a result of the packed SPFP comparison; executing a packed integer comparison instruction to compare a first packed integer data element and a second packed integer data element and responsively setting the at least one bit in the register to indicate a result of the packed integer comparison; and executing a branch instruction to determine a target code location based on the at least one bit set in the register by the packed SPFP or packed integer comparison instructions. 10. The method of claim 9 wherein the set of 128-bit packed data registers comprises at least one set of physical registers for storing both scalar floating point values and vector data elements.

Assignees

Inventors

Classifications

  • using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12) · CPC title

  • Logical and Boolean instructions, e.g. XOR, NOT · CPC title

  • Compare instructions, e.g. Greater-Than, Equal-To, MINMAX · CPC title

  • Decoding the operand specifier, e.g. specifier format · 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 US9898285B2 cover?
A method and apparatus for including in a processor instructions for performing logical-comparison and branch support operations on packed or unpacked data. In one embodiment, instruction decode logic decodes instructions for an execution unit to operate on packed data elements including logical comparisons. A register file including 128-bit packed data registers stores packed single-precision …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/30021. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2018 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).