Functional unit having tree structure to support vector sorting algorithm and other algorithms

US9405538B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9405538-B2
Application numberUS-201213730685-A
CountryUS
Kind codeB2
Filing dateDec 28, 2012
Priority dateDec 28, 2012
Publication dateAug 2, 2016
Grant dateAug 2, 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 is described having a functional unit of an instruction execution pipeline. The functional unit has a plurality of compare-and-exchange circuits coupled to network circuitry to implement a vector sorting tree for a vector sorting instruction. Each of the compare-and-exchange circuits has a respective comparison circuit that compares a pair of inputs. Each of the compare-and-exchange circuits have a same sided first output for presenting a higher of the two inputs and a same sided second output for presenting a lower of the two inputs, said comparison circuit to also support said functional unit's execution of a prefix min and/or prefix add instruction.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a functional unit of an instruction execution pipeline comprising a plurality of compare-and-exchange circuits in parallel and coupled to network circuitry to execute a single vector sorting instruction to sort an input operand of one or more vectors into numerical order, each of said compare-and-exchange circuits having a respective comparison circuit that compares a pair of inputs, each of said compare-and-exchange circuits having a first output for presenting a higher of the pair of inputs and a second output for presenting a lower of the pair of inputs; and a memory circuit containing microcode that provides control signals to said network circuitry to loopback each output of the plurality of compare-and-exchange circuits into the plurality of compare-and-exchange circuits until each vector of an input operand of a plurality of vectors is sorted. 2. The apparatus of claim 1 wherein each vector of the input operand of the plurality of vectors is a same size. 3. The apparatus of claim 2 wherein said same size is specified with an immediate operand of said single vector sorting instruction. 4. The apparatus of claim 2 wherein said same size is any one of 2 elements, 4 elements, 8 elements, and 16 elements. 5. The apparatus of claim 1 wherein said functional unit simultaneously sorts each vector of the input operand of the plurality of vectors. 6. The apparatus of claim 1 wherein said network circuitry includes a configurable switching network. 7. The apparatus of claim 1 wherein the control signals comprise a number of cycles to complete the sort of the input operand. 8. An apparatus comprising: a functional unit of an instruction execution pipeline comprising a plurality of compare-and-exchange circuits in parallel and coupled to network circuitry to execute a single vector sorting instruction to sort an input operand of multiple vectors into numerical order, each of said compare-and-exchange circuits having a respective comparison circuit that compares a pair of inputs, each of said compare-and-exchange circuits having a first output for presenting a higher of the pair of inputs and a second output for presenting a lower of the pair of inputs; and a memory circuit containing microcode that provides control signals to said network circuitry to loopback each output of the plurality of compare-and-exchange circuits into the plurality of compare-and-exchange circuits until each vector of the input operand of multiple vectors is sorted. 9. The apparatus of claim 8 wherein each vector of the input operand of multiple vectors is a same size. 10. The apparatus of claim 9 wherein said same size is specified with an immediate operand of said single vector sorting instruction. 11. The apparatus of claim 9 wherein said same size is any one of 2 elements, 4 elements, 8 elements, and 16 elements. 12. The apparatus of claim 8 wherein said functional unit simultaneously sorts each vector of the input operand of multiple vectors. 13. The apparatus of claim 8 wherein said network circuitry includes a configurable switching network. 14. The apparatus of claim 8 wherein the control signals comprise a number of cycles to complete the sort of the input operand. 15. The apparatus of claim 8 further comprising at least one of: an adder to implement a prefix add instruction with said functional unit, and a multiplier to implement a prefix multiply instruction with said functional unit. 16. A method comprising: performing the following with functional unit of an instruction execution pipeline to execute a single vector sorting instruction to sort an input operand of one or more vectors into numerical order: passing elements of the input operand of one or more vectors to a plurality of compare-and-exchange circuits in parallel and coupled to network circuitry, wherein each of said plurality of compare-and-exchange circuits perform the following: compare a pair of said elements, present a higher of the pair of the elements on a first output, and present a lower of the pair of the elements on a second output; and providing control signals to said network circuitry to loopback each output of the plurality of compare-and-exchange circuits into the plurality of compare-and-exchange circuits until each vector of an input operand of a plurality of vectors is sorted. 17. The method of claim 16 wherein each vector of the input operand of the plurality of vectors is a same size. 18. The method of claim 16 further comprising executing at least one of a prefix sum instruction and a prefix add instruction with said functional unit. 19. The method of claim 16 further comprising executing at least one of a prefix min instruction and a prefix max instruction with said functional unit. 20. The method of claim 16 wherein said functional unit simultaneously sorts each vector of the input operand of the plurality of vectors. 21. The method of claim 16 wherein the control signals comprise a number of cycles to complete the sort of the input operand.

Assignees

Inventors

Classifications

  • Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers {sorting methods in general}(G06F7/36 takes precedence) · CPC title

  • controlled in tandem, e.g. multiplier-accumulator · CPC title

  • Arithmetic instructions · CPC title

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

  • Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE · 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 US9405538B2 cover?
An apparatus is described having a functional unit of an instruction execution pipeline. The functional unit has a plurality of compare-and-exchange circuits coupled to network circuitry to implement a vector sorting tree for a vector sorting instruction. Each of the compare-and-exchange circuits has a respective comparison circuit that compares a pair of inputs. Each of the compare-and-exchang…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/30038. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 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).