Processing system with interspersed processors with multi-layer interconnection

US10185608B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10185608-B2
Application numberUS-201815986701-A
CountryUS
Kind codeB2
Filing dateMay 22, 2018
Priority dateNov 21, 2012
Publication dateJan 22, 2019
Grant dateJan 22, 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.

Embodiments of a multi-processor array are disclosed that may include a plurality of processors and configurable communication elements coupled together in a interspersed arrangement. Each configurable communication element may include a local memory and a plurality of routing engines. The local memory may be coupled to a subset of the plurality of processors. Each routing engine may be configured to receive one or more messages from a plurality of sources, assign each received message to a given destination of a plurality of destinations dependent upon configuration information, and forward each message to assigned destination. The plurality of destinations may include the local memory, and routing engines included in a subset of the plurality of configurable communication elements.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a plurality of processors; and a plurality of configurable communication elements coupled to the plurality of processors in an interspersed arrangement, wherein a particular configurable communication element of the plurality of configurable communication elements is coupled to at least one processor of the plurality of processors, and wherein the particular configurable communication element is configured to: receive one or more messages from the at least one processor; and forward the one or more messages to a different configurable communication element of the plurality of configurable communication elements via one or more other configurable communication elements of the plurality of configurable communication elements; and wherein a given one of the one or more other configurable communication elements is configured to receive at least part of the one or more messages. 2. The apparatus of claim 1 , wherein to receive the at least part of the one or more messages, the given one of the one or more other configurable communication elements is further configured to store the at least part of the one or more messages in a memory. 3. The apparatus of claim 2 , wherein the given one of the one or more other configurable communication elements is further configured to, in response to storing the at least part of the one or more messages in the memory, remove the at least part of the one or more messages before forwarding a remainder of the one or more messages to another one of the one or more other configurable communication elements. 4. The apparatus of claim 1 , wherein the one or more messages includes a request for access to a particular resource, and wherein the particular configurable communication element of the plurality of configurable communication elements is further configured to arbitrate between multiple requests for access to the particular resource. 5. The apparatus of claim 1 , wherein the particular configurable communication element is further configured to forward the one or more messages to the different configurable communication element based upon an amount of message traffic to the different configurable communication element. 6. The apparatus of claim 1 , wherein the particular configurable communication element is further configured to forward the one or more messages to the different configurable communication element using configuration information received via a secondary interconnection network. 7. A method of operating a multiprocessor system, comprising: receiving, by a particular configurable communication element of a plurality of configurable communication elements, a message from a particular processor of a plurality of processors, wherein the plurality of configurable communication elements is coupled to the plurality of processors in an interspersed arrangement; and forwarding the message to a different configurable communication element of the plurality of configurable communication elements via one or more other configurable communication elements of the plurality of configurable communication elements; and receiving, by a given one of the one or more other configurable communication elements, at least a portion of the message. 8. The method of claim 7 , wherein receiving, by the given one of the one or more configurable communication elements, the at least a portion of the message includes storing the at least a portion of the message in a memory. 9. The method of claim 8 , further comprising, removing, by the given one of the one or more configurable communication elements, the at least a portion of the message from the message, in response to the storing the at least a portion of the message, prior to forwarding a remaining portion of the message to another one of the one or more other configurable communication elements. 10. The method of claim 7 , further comprising, forwarding the message to the different configurable communication element based upon an amount of message traffic to the different configurable communication element. 11. The method of claim 10 , further comprising, monitoring the amount of message traffic by the particular configurable communication element. 12. The method of claim 7 , further comprising, forwarding, by the particular configurable communication element, the message to the different configurable communication element based on configuration information received via a secondary interconnection network. 13. The method of claim 12 , further comprising, storing at least a portion of the configuration information in a register included in the particular configurable communication element. 14. The method of claim 7 , further comprising, forwarding, by the particular configurable communication element, the message to the different configurable communication element based upon header information include in the message. 15. A system, comprising: a plurality of processors, a plurality of memories interspersed among the plurality of processors, wherein each memory is coupled to a respective local subset of the plurality of processors wherein each processor included in a particular local subset is physically adjacent to a particular memory coupled to the particular local subset; and a plurality of routing engines, wherein each routing engine of the plurality of routing engines is coupled to a respective one of the plurality of memories, a first subset of a plurality of links, and a second subset of the plurality of links; wherein each link of the first subset of the plurality of links is coupled to a respective one of a first subset of the plurality of routing engines; wherein each link of the second subset of the plurality of links is coupled to a respective one of a second subset of the plurality of routing engines; wherein a particular routing engine included in the plurality of routing engines is coupled to a first subset of the plurality of processors, and to a second subset of the plurality of processors that is different from the first subset, and wherein a particular processor included in the second subset of the plurality of processor is not physically adjacent to the particular routing engine; and wherein the particular routing engine is configured to: receive one or more messages from a particular processor included in the first or second subset of the plurality of processors; and forward the one or more messages to a different routing engine of the plurality of routing engines via one or more other routing engines of the plurality of routing engines; and wherein a given one of the one or more other routing engines is configured to receive at least part of the one or more messages. 16. The system of claim 15 , wherein to receive the at least part of the one or more messages, the given one of the one or more other routing engines is further configured to store the at least part of the one or more messages in a memory. 17. The system of claim 16 , wherein the given one of the one or more other routing engines is further configured to, in response to storing the at least part of the one or more messages in the memory, remove the at least part of the one or more messages before forwarding a remainder of the one or more messages to another one of the one or more other routing engines. 18. The system of claim 15 , wherein the one or more messages includes a request for access to a particular resource, and wherein the particular routing engine of the plurality of routing engines is further configured to arbitrate between multiple requ

Assignees

Inventors

Classifications

  • using bus bridges (G06F13/4022 takes precedence) · CPC title

  • on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title

  • using buffers · CPC title

  • G06F13/28Primary

    using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · 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 US10185608B2 cover?
Embodiments of a multi-processor array are disclosed that may include a plurality of processors and configurable communication elements coupled together in a interspersed arrangement. Each configurable communication element may include a local memory and a plurality of routing engines. The local memory may be coupled to a subset of the plurality of processors. Each routing engine may be configu…
Who is the assignee on this patent?
Coherent Logix Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/28. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 22 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).