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

US2016342418A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016342418-A1
Application numberUS-201615226714-A
CountryUS
Kind codeA1
Filing dateAug 2, 2016
Priority dateDec 28, 2012
Publication dateNov 24, 2016
Grant date

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).

1 . An apparatus, comprising: a functional unit of an instruction execution pipeline have a plurality of compare-and-exchange circuits coupled to network circuitry to implement a vector sorting tree for a vector sorting instruction, 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 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. 2 . The apparatus of claim 1 wherein said functional unit supports sorting of different sized vectors. 3 . The apparatus of claim 2 wherein a particular one of said sizes is specified with an immediate operand of said vector sorting instruction. 4 . The apparatus of claim 2 wherein said different sized vectors include 2 elements, 4 elements, 8 elements and 16 elements. 5 . The apparatus of claim 2 wherein said functional unit can simultaneously sort two vectors whose size is less than a maximum vector size that can be sorted through said vector sorting tree. 6 . The apparatus of claim 1 wherein said network circuitry includes a configurable switching network. 7 . The apparatus of claim 6 wherein said functional unit includes a memory circuit containing microcode that present control signals to said configurable switching network for said vector sorting instruction. 8 . An apparatus, comprising: a functional unit of an instruction execution pipeline have a plurality of compare-and-exchange circuits coupled to network circuitry to implement a vector sorting tree for a vector sorting instruction, 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 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, each of said circuits also having any of: an adder to implement a prefix add instruction with said functional unit; a multiplier to implement a prefix multiply instruction with said functional unit. 9 . The apparatus of claim 8 wherein said functional unit supports sorting of different sized vectors. 10 . The apparatus of claim 9 wherein a particular one of said sizes is specified with an immediate operand of said vector sorting instruction. 11 . The apparatus of claim 9 wherein said different sized vectors include 2 elements, 4 elements, 8 elements and 16 elements. 12 . The apparatus of claim 9 wherein said functional unit can simultaneously sort two vectors whose size is less than a maximum vector size that can be sorted through said vector sorting tree. 13 . The apparatus of claim 8 wherein said network circuitry includes a configurable switching network. 14 . The apparatus of claim 13 wherein said functional unit includes a memory circuit containing microcode that present control signals to said configurable switching network for said vector sorting instruction. 15 . The apparatus of claim 8 wherein said comparator of each of said circuits is also used to implement any of the following with said functional unit: a prefix min instruction; a prefix max instruction. 16 . A method, comprising: performing the following with functional unit circuitry of an instruction execution pipeline to perform a vector sorting instruction: simultaneously receiving a first vector and a second vector; passing elements of said first and second vectors through a plurality of comparison-and-exchange circuits that implement a sorting tree to sort said first and second vectors, wherein, each of said comparison-and-exchange circuits perform the following: compare a pair of said elements; present a higher of the pair of elements on a same sided first output; present a lower of the pair of elements on a same sided second output. 17 . The method of claim 16 wherein said instruction specifies a size of said first and second vectors. 18 . The method of claim 17 wherein said functional unit uses said size to determine how many stages of said sorting tree said elements are to pass through. 19 . The method of claim 16 further comprising executing any of a prefix sum instruction or prefix add instruction with said functional unit. 20 . The method of claim 16 further comprising executing any of a prefix min instruction or prefix max instruction with said functional unit.

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 US2016342418A1 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 Thu Nov 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).