IP Library Granted Patent US 10,891,240
Granted Patent B2
US 10,891,240 · App. 16/024,802 · Granted Jan 12, 2021

Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator

Inventors: Suresh Mathew (Hudson, MA); Mitchell Diamond (Shrewsbury, MA); Kermin E. Fleming, Jr. (Hudson, MA)
Assignee: Intel Corporation
G06F12/1027G06F3/0608G06F3/0659G06F3/0683G06F2212/1016G06F2212/68
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,891,240
App. No.
16/024,802
Granted
Jan 12, 2021
Kind
B2
Abstract

Systems, methods, and apparatuses relating to low latency communications in a configurable spatial accelerator are described. In one embodiment, a processor includes a spatial array of processing elements to receive an input of a dataflow graph comprising a plurality of nodes, a plurality of request address file circuits coupled to the spatial array of processing elements and a cache memory, each request address file circuit of the plurality of request address file circuits to access data in the cache memory in response to a request for data access from the spatial array of processing elements, a plurality of translation lookaside buffers comprising a translation lookaside buffer in each of the plurality of request address file circuits to provide an output of a physical address for an input of a virtual address, and a function controller to receive an interrupt that includes a first field, that when set to a first value, causes a shootdown message to be broadcast to the plurality of translation lookaside buffers to cause a shootdown in the plurality of translation lookaside buffers.

Claims (31)

1. An apparatus comprising:

a spatial array of processing elements to receive an input of a dataflow graph comprising a plurality of nodes, wherein the dataflow graph is to be overlaid into the spatial array of processing elements with each node represented as a dataflow operator in the spatial array of processing elements, and the spatial array of processing elements is to perform an operation by a respective, incoming operand set arriving at each of the dataflow operators;

a plurality of request address file circuits coupled to the spatial array of processing elements and a cache memory, each request address file circuit of the plurality of request address file circuits to access data in the cache memory in response to a request for data access from the spatial array of processing elements;

a plurality of translation lookaside buffers comprising a translation lookaside buffer in each of the plurality of request address file circuits to provide an output of a physical address for an input of a virtual address; and

a function controller to receive an interrupt that includes a first field, that when set to a first value, causes a shootdown message to be broadcast to the plurality of translation lookaside buffers to cause a shootdown in the plurality of translation lookaside buffers.

2. The apparatus of claim 1 , wherein:

the interrupt further comprises a function enable field, and

when the first field is set to the first value and the function enable field is set to a first value, the function controller is to cause the shootdown message to be broadcast to the plurality of translation lookaside buffers.

3. The apparatus of claim 2 , wherein, when the function enable field is set to a second value, the function controller is to not cause the shootdown message to be broadcast to the plurality of translation lookaside buffers.

4. The apparatus of claim 2 , wherein, when the first field is set to a second value and the function enable field is set to the first value, the function controller is to cause a start of execution of the dataflow graph by the spatial array of processing elements.

5. The apparatus of claim 4 , wherein, when the first field is set to a third value and the function enable field is set to the first value, the function controller is to cause a stop of execution of the dataflow graph by the spatial array of processing elements.

6. The apparatus of claim 5 , wherein, when the function enable field is set to a second value, the

the function controller is to not cause the shootdown message to be broadcast to the plurality of translation lookaside buffers, the start of execution of the dataflow graph by the spatial array of processing elements, or the stop of execution of the dataflow graph by the spatial array of processing elements.

7. The apparatus of claim 2 , wherein, when the function enable field is set to a second value, the function controller is to send the interrupt to an interrupt controller to cause an interrupt.

8. The apparatus of claim 2 , wherein, when the function enable field is set to the first value, the interrupt is sent to a function decoder circuit of the function controller that reads the first field and causes the shootdown message to be broadcast to the plurality of translation lookaside buffers when the first field is set to the first value.

9. A method comprising:

overlaying an input of a dataflow graph comprising a plurality of nodes into a spatial array of processing elements with each node represented as a dataflow operator in the spatial array of processing elements;

coupling a plurality of request address file circuits to the spatial array of processing elements and a cache memory with each request address file circuit of the plurality of request address file circuits accessing data in the cache memory in response to a request for data access from the spatial array of processing elements;

providing an output of a physical address for an input of a virtual address into a translation lookaside buffer of a plurality of translation lookaside buffers comprising a translation lookaside buffer in each of the plurality of request address file circuits; and

receiving, with a function controller, an interrupt that includes a first field that is set to a first value to cause a shootdown message to be broadcast to the plurality of translation lookaside buffers to cause a shootdown in the plurality of translation lookaside buffers.

10. The method of claim 9 , wherein:

the interrupt further comprises a function enable field, and

when the first field is set to the first value and the function enable field is set to a first value, the function controller causing the shootdown message to be broadcast to the plurality of translation lookaside buffers.

11. The method of claim 10 , wherein, when the function enable field is set to a second value, the

the function controller does not cause the shootdown message to be broadcast to the plurality of translation lookaside buffers.

12. The method of claim 10 , wherein, when the first field is set to a second value and the function enable field is set to the first value, the function controller causing a start of execution of the dataflow graph by the spatial array of processing elements.

13. The method of claim 12 , wherein, when the first field is set to a third value and the function enable field is set to the first value, the function controller causing a stop of execution of the dataflow graph by the spatial array of processing elements.

14. The method of claim 13 , wherein, when the function enable field is set to a second value, the

the function controller does not cause the shootdown message to be broadcast to the plurality of translation lookaside buffers, the start of execution of the dataflow graph by the spatial array of processing elements, or the stop of execution of the dataflow graph by the spatial array of processing elements.

15. The method of claim 10 , wherein, when the function enable field is set to a second value, the function controller sends the interrupt to an interrupt controller to cause an interrupt.

16. The method of claim 10 , wherein, when the function enable field is set to the first value, the interrupt is sent to a function decoder circuit of the function controller that reads the first field and causes the shootdown message to be broadcast to the plurality of translation lookaside buffers when the first field is set to the first value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2018
From: MATHEW, SURESH; DIAMOND, MITCHELL; FLEMING, KERMIN E., JR.
To: INTEL CORPORATION
Reel/Frame 046858/0815 →
Continuity (1)
Related Publication 20200004690A1 · Jan 2, 2020
Cited By (5)
US 12,253,877 US 12,416,965 US 12,613,731 US 12,675,312 US 12,699,589