IP Library Granted Patent US 8,635,378
Granted Patent B1
US 8,635,378 · App. 13/229,294 · Granted Jan 21, 2014

Flow control in a parallel processing environment

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 8,635,378
App. No.
13/229,294
Granted
Jan 21, 2014
Kind
B1
Abstract

The flow of data in an integrated circuit is controlled. The integrated circuit comprising a plurality of tiles, each tile comprising a processor, a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles, and a receive buffer to store data from the switch. At a first tile, a count is maintained of data that has been sent to a second tile without receiving an acknowledgement up to a credit limit. At the second tile, data that arrives from the first tile when the receive buffer is full is sent to a memory outside of the tile.

Claims (36)

1. An integrated circuit comprising:

a plurality of tiles, each tile comprising

a processor;

a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles according to execution of a switch instruction that causes coupling of an input port to each of multiple output ports of the switch;

a switch instruction fetch unit configured to fetch switch instructions for the switch in a first mode, with input data arriving at the switch in successive cycles forwarded according to different switch instructions fetched by the switch instruction fetch unit during the successive cycles; and

a multiplexer configured to selectively couple an input port and output port for forwarding data from the input port to the output port in a first mode in successive cycles according to switch instructions fetched by the switch instruction fetch unit and in a second mode, the multiplexer is configured to forward input data arriving at the switch in successive cycles according to single instruction circuitry that establishes a single coupling, with power to the switch instruction fetch unit turned off during the successive cycles during the second mode.

2. The integrated circuit of claim 1 , wherein each tile further comprises

a first switch instruction memory to store a stream of switch instructions used in the first mode, and

a second switch instruction memory to store a instruction used in the second mode.

3. The integrated circuit of claim 2 , wherein each switch instruction in the first switch instruction memory includes control information indicating program control flow.

4. The integrated circuit of claim 2 , further comprising a multiplexer to select a switch instruction from either the first switch instruction memory, or the second switch instruction memory.

5. The integrated circuit of claim 4 , wherein the multiplexer is accessible within a register name space of the processor.

6. The integrated circuit of claim 2 , wherein the storage size of the second switch instruction memory is the size of a single instruction.

7. The integrated circuit of claim 6 , wherein the storage size of the second switch instruction memory is less than or equal to four bits.

8. The integrated circuit of claim 1 , wherein the processor is a pipelined processor and the switch is coupled to a plurality of stages of the pipeline.

9. The integrated circuit of claim 8 , wherein the processor is coupled to bypass paths that connect non-adjacent pipeline stages of the processor.

10. The integrated circuit of claim 8 , wherein the switching circuitry is coupled to a buffer accessible within a register name space of the processor.

11. The integrated circuit of claim 10 , wherein the buffer comprises an input buffer configured to receive data over an input port of the switch.

12. The integrated circuit of claim 10 , wherein the buffer comprises an output buffer configured to send data over an output port of the switch.

13. The integrated circuit of claim 1 , wherein the circuitry that establishes the single coupling is configured to establish the single coupling in response to a compiler.

14. The integrated circuit of claim 1 , wherein the circuitry that establishes the single coupling is configured to establish the single coupling in response to an operating system.

15. The integrated circuit of claim 1 , wherein the multiplexer is configured to select a coupling between an input port and a first output port, and each tile further comprises additional multiplexers for additional output ports configured to select couplings between input ports and the additional output ports.

16. An integrated circuit comprising

a plurality of tiles, each tile comprising

a processor configured to process instructions;

an instruction fetch unit configured to fetch switch instructions for execution by the processor;

a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles according to execution of switch instructions with at least some of the switch instructions including a segment for each output port indicating to which input port the output port should connect, where input and output ports in the segment determined at compile time;

a switch instruction memory storing switch instructions;

a program counter that steps through the switch instructions for interpreting control information and

a multiplexer configured to selectively couple according to the control information an input port and output port for forwarding data from the input port to the output port in a first mode in successive cycles according to switch instructions fetched by the switch instruction fetch unit in the successive cycles and in a second mode, the multiplexer is configured to forward input data arriving at the switch according to single instruction circuitry that establishes the single coupling.

17. The integrated circuit of claim 16 , wherein the processor is a pipelined processor and the switch is coupled to a plurality of stages of the pipeline.

18. The integrated circuit of claim 17 , wherein the processor is coupled to bypass paths that connect non-adjacent pipeline stages of the processor.

19. The integrated circuit of claim 17 , wherein the switching circuitry is coupled to a buffer accessible within a register name space of the processor.

20. The integrated circuit of claim 19 , wherein the buffer comprises an input buffer configured to receive data over an input port of the switch.

21. The integrated circuit of claim 19 , wherein the buffer comprises an output buffer configured to send data over an output port of the switch.

22. The integrated circuit of claim 16 , wherein each tile further comprises a multiplexer that receives control signals from the processor to selectively enable the second mode.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 42962/0859 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
Reel/Frame 046551/0459 →
SECURITY INTEREST Recorded Jun 23, 2017
From: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042962/0859 →
DIVIDEND DECLARATION FROM EZCHIP SEMICONDUCTOR INC. TO THE STOCKHOLDER OF RECORD ON 6/2/2015 (EZCHIP INC., A DELAWARE CORPORATION) Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR INC.
To: EZCHIP, INC.
Reel/Frame 041736/0013 →
PURCHASE AGREEMENT Recorded Feb 16, 2017
From: EZCHIP, INC.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: EZCHIP TECHNOLOGIES, LTD.
Reel/Frame 041736/0253 →
MERGER Recorded Feb 16, 2017
From: EZCHIP TECHNOLOGIES LTD.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0321 →
MERGER Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 041870/0455 →
MERGER Recorded Feb 16, 2017
From: TILERA CORPORATION
To: EZCHIP SEMICONDUCTOR INC.
Reel/Frame 041735/0792 →