Two-Level Arbitration in a Reconfigurable Processor
US-2023251993-A1 · Aug 10, 2023 · US
US12306788B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12306788-B2 |
| Application number | US-202318383744-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 25, 2023 |
| Priority date | Jul 15, 2022 |
| Publication date | May 20, 2025 |
| Grant date | May 20, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A reconfigurable processing unit is disclosed, comprising a first internal network and a second internal network with different protocols, an interface to an external network with a different protocol, a first configurable unit connected to the first internal network, a second configurable unit connected to both the first internal network and the second internal network, and a third configurable unit connected to both the second internal network and the interface to the external network. The third configurable unit is configured to receive a payload from the external network and send the transaction type identifier and the source application ID to the second configurable unit over the second internal network. The second configurable unit sends information to the first configurable unit based on the transaction type identifier and the source application ID matching the local application ID retrieved from the register.
Opening claim text (preview).
We claim as follows: 1. A reconfigurable processing unit comprising: a first internal network and a second internal network, the first internal network and the second internal network having different protocols; an interface to an external network, the external network having a protocol different than either the first internal network or the second internal network; a first configurable unit coupled to the first internal network; a second configurable unit coupled to both the first internal network and the second internal network and having a register to store a local application ID; and a third configurable unit coupled to both the second internal network and the interface to the external network, and configured to receive a payload containing a transaction type identifier, an identifier of the second configurable unit, and a source application ID from the external network, and send the transaction type identifier and the source application ID to the second configurable unit over the second internal network; the second configurable unit configured to send information based on the transaction type identifier to the first configurable unit over the first internal network in response to the source application ID matching the local application ID retrieved from the register, and not sending information related to the payload to the first configurable unit in response to the source application ID not matching the local application ID. 2. The reconfigurable processing unit of claim 1 , the second configurable unit further configured to generate an error condition in response to the source application ID not matching the local application ID. 3. The reconfigurable processing unit of claim 1 , wherein the transaction type identifier comprises a stream write, the payload contains write data, and the information sent to the first configurable unit includes the write data. 4. The reconfigurable processing unit of claim 3 , the first configurable unit configured to store the write data in memory of the first configurable unit. 5. The reconfigurable processing unit of claim 4 , the first configurable unit configured send a token to the second configurable unit over the first internal network in response to consuming the write data stored in the memory of the first configurable unit; the second configurable unit further configured to, in response to receiving the token from the first configurable unit, send a packet including an indication of data consumption, the local application ID, an identifier for a target reconfigurable processing unit, and an identifier for a target configurable unit of the target reconfigurable processing unit, to the third configurable unit over the second internal network; and the third configurable unit further configured to, in response to receiving the packet from the second configurable unit, determine an address on the external network for the target reconfigurable processing unit based on the identifier of the target reconfigurable processing unit, synthesize a second payload including a transaction type ID that indicates data consumption, the local application ID, and an identifier of the reconfigurable processing unit, and send the second payload to the address on the external network. 6. The reconfigurable processing unit of claim 1 , wherein the transaction type identifier comprises an indication of data consumption by a sender of the payload, and the information sent to the first configurable unit includes a token sent over the first internal network. 7. The reconfigurable processing unit of claim 6 , the first configurable unit configured to increment a buffer size counter in response to receiving the token. 8. The reconfigurable processing unit of claim 7 , the first configurable unit further configured to determine whether the buffer size counter has a value greater than zero, and in response to the buffer size counter having a value greater than zero, decrement the buffer size counter and send data over the first internal network to the second configurable unit; the second configurable unit further configured to, in response to receiving the data from the first configurable unit, send a packet including the data, the local application ID, an identifier for a target reconfigurable processing unit, and an identifier for a target configurable unit of the target reconfigurable processing unit to the third configurable unit over the second internal network; and the third configurable unit further configured to, in response to receiving the packet from the second configurable unit, determine an address on the external network for the target reconfigurable processing unit based on the identifier of the target reconfigurable processing unit, synthesize a payload that includes a stream write request, the data, the local application ID, and an identifier of the reconfigurable processing unit, and send the payload to the address on the external network. 9. A method for peer-to-peer communication between a first reconfigurable processing unit (RPU) and a second RPU, the first RPU having a second configurable unit, a first configurable unit coupled to the second configurable unit by a first internal network, and a third configurable unit coupled to the second configurable unit by a second internal network, the method comprising: storing a local application ID in a register of the second configurable unit; receiving a payload from an external network at the third configurable unit, the payload containing a transaction type identifier, an identifier of the second configurable unit, and a source application ID; sending the transaction type identifier and the source application ID from the third configurable unit to the second configurable unit over the second internal network; and sending information based on the transaction type identifier to the first configurable unit over the first internal network in response to the source application ID matching the local application ID, and not sending information related to the payload to the first configurable unit in response to the source application ID not matching the local application ID. 10. The method of claim 9 , the method further comprising generating an error condition in response to the source application ID not matching the local application ID. 11. The method of claim 9 , wherein the transaction type identifier comprises a stream write, the payload contains write data, and the information sent to the first configurable unit includes the write data. 12. The method of claim 11 , further comprising storing the write data in memory of the first configurable unit. 13. The method of claim 12 , further comprising: sending a token from the first configurable unit to the second configurable unit over the first internal network in response to consuming the write data stored in the memory of the first configurable unit; sending a packet including an indication of data consumption, the local application ID, an identifier for the second RPU, and an identifier for a target configurable unit of the second RPU, from the second configurable unit to the third configurable unit over the second internal network in response to receiving the token from the first configurable unit at the second configurable unit; looking up an address on the external network for the second RPU based on the identifier of the second RPU, in response to receiving the packet at the third configurable unit from the second configurable unit; synthesizing a second payload including a transaction type ID that indicates data consumption, the local application ID, and an identifier of the first RPU; and sending the second paylo
Two dimensional arrays, e.g. mesh, torus · CPC title
Runtime interface, e.g. data exchange, runtime control · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.