Processing system with interspersed processors and communication elements
First Claim
1. A system, comprising:
- a plurality of processors, each comprising at least one arithmetic logic unit, an instruction processing unit, and a plurality of processor ports; and
a plurality of dynamically configurable communication elements, each comprising a plurality of communication ports, a first memory, and a routing engine;
wherein said plurality of processors and said plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;
wherein, for each of said processors, said plurality of processor ports are configured for coupling to a first subset of said plurality of dynamically configurable communication elements;
wherein, for each of said dynamically configurable communication elements, said plurality of communication ports comprise a first subset of communication ports configured for coupling to a subset of said plurality of said processors and a second subset of communication ports configured for coupling to a second subset of said plurality of dynamically configurable communication elements.
3 Assignments
0 Petitions
Accused Products
Abstract
A processing system comprising processors and the dynamically configurable communication elements coupled together in an interspersed arrangement. The processors each comprise at least one arithmetic logic unit, an instruction processing unit, and a plurality of processor ports. The dynamically configurable communication elements each comprise a plurality of communication ports, a first memory, and a routing engine. For each of the processors, the plurality of processor ports is configured for coupling to a first subset of the plurality of dynamically configurable communication elements. For each of the dynamically configurable communication elements, the plurality of communication ports comprises a first subset of communication ports configured for coupling to a subset of the plurality of processors and a second subset of communication ports configured for coupling to a second subset of the plurality of dynamically configurable communication elements.
94 Citations
63 Claims
-
1. A system, comprising:
-
a plurality of processors, each comprising at least one arithmetic logic unit, an instruction processing unit, and a plurality of processor ports; and
a plurality of dynamically configurable communication elements, each comprising a plurality of communication ports, a first memory, and a routing engine;
wherein said plurality of processors and said plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;
wherein, for each of said processors, said plurality of processor ports are configured for coupling to a first subset of said plurality of dynamically configurable communication elements;
wherein, for each of said dynamically configurable communication elements, said plurality of communication ports comprise a first subset of communication ports configured for coupling to a subset of said plurality of said processors and a second subset of communication ports configured for coupling to a second subset of said plurality of dynamically configurable communication elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A system, comprising:
-
a plurality of processors;
a plurality of dynamically configurable communication elements, each comprising a plurality of communication ports, a first memory, and a routing engine;
wherein the plurality of processors and the plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;
wherein one of said processors is configurable as a source device to transfer a first plurality of data through an intermediate subset of said plurality of dynamically configurable communication elements to a destination device;
wherein, after said source device begins transfer of said first plurality of data through said intermediate subset to said destination device, if either said destination device or one of said intermediate subset stalls, the stalling device is operable to propagate stalling information through one or more of said intermediate subset to said source device;
wherein said source device is operable to suspend transfer of said first plurality of data upon receipt of the stalling information, wherein a portion of said first plurality of data transmitted after said stalling and prior to the suspending is buffered in at least one of said intermediate subset. - View Dependent Claims (42)
-
-
43. A system, comprising:
-
a plurality of processors;
a plurality of dynamically configurable communication elements, each comprising a plurality of communication ports, a first memory, and a routing engine;
wherein the plurality of processors and the plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;
wherein one of said processors is configurable as a source device to transfer a first plurality of data through an intermediate subset of said plurality of dynamically configurable communication elements to a destination device;
wherein, after said source device begins transfer of said first plurality of data through said intermediate subset to said destination device, if either said source device or one of said intermediate subset stalls, the stalling device is operable to propagate stalling information through one or more of said intermediate subset to said destination device;
wherein said destination device is operable to suspend processing of said first plurality of data upon receipt of the stalling information. - View Dependent Claims (44)
-
-
45. A method for transferring data from a source device to a destination device, wherein said source device is coupled to said destination device through a plurality of intermediate devices, the method comprising:
-
configuring said source device to transfer a first plurality of data to said destination device through said plurality of intermediate devices;
said source device beginning transfer of said first plurality of data through said plurality of intermediate devices to said destination device;
at least one of said intermediate devices or said destination device stalling after said beginning transfer;
propagating stalling information through one or more of said intermediate devices to said source device after said stalling;
said source device suspending transfer of said first plurality of data upon receipt of said stalling information, wherein a subset of said first plurality of data transmitted after said stalling and prior to said suspending is buffered in one or more of said intermediate devices. - View Dependent Claims (46, 47, 48)
-
-
49. A method for transferring data from a source device to a destination device, wherein said source device is coupled to said destination device through a plurality of intermediate devices, the method comprising:
-
configuring said source device to transfer a first plurality of data to said destination device through said plurality of intermediate devices;
said source device beginning transfer of said first plurality of data through said plurality of intermediate devices to said destination device;
at least one of said intermediate devices or said source device stalling after said beginning transfer;
propagating stalling information through one or more of said intermediate devices to said destination device after said stalling; and
said destination device suspending processing of said first plurality of data upon receipt of said stalling information. - View Dependent Claims (50, 51)
-
-
52. A system, comprising:
-
a plurality of processors, each comprising at least one arithmetic logic unit, at least one instruction processing unit, and a plurality of processor ports;
a plurality of dynamically configurable communication elements, each comprising a plurality of communication ports, at least a first memory, and a routing engine;
wherein said plurality of processors and said plurality of dynamically configurable communication elements are manufactured on a single integrated circuit;
wherein the plurality of processors and the plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;
wherein each of said dynamically configurable communication elements comprises;
a plurality of input ports;
a plurality of output registers;
a crossbar coupled to receive data from one or more of said plurality of input ports and to transmit data to a selected one or more of said plurality of output registers;
wherein each said output register selectively operates in a synchronous data transfer mode or a transparent data transfer mode. - View Dependent Claims (53, 54, 55)
-
-
56. A system, comprising:
-
an interconnect network; and
a plurality of dynamically configurable communication elements configured to exchange data, each said element comprising;
a plurality of input ports coupled to said interconnect network;
a plurality of output registers coupled to said interconnect network;
a crossbar coupled to receive data from one or more of said plurality of input ports and to transmit data to a selected one or more of said plurality of output registers;
wherein each said output register selectively operates in a synchronous data transfer mode or a transparent data transfer mode.
-
-
57. A method for transferring data from a source device to a destination device, wherein said source device is coupled to said destination device through a plurality of intermediate devices, the method comprising:
-
configuring said source device to transfer a first plurality of data to said destination device through said plurality of intermediate devices;
configuring each of said plurality of intermediate devices to operate in a synchronous data transfer mode or a transparent data transfer mode;
transferring said first plurality of data through a single intermediate device during a single master clock cycle dependent upon said single intermediate device being configured to operate in a synchronous data transfer mode; and
transferring said first plurality of data through multiple intermediate devices during a single master clock cycle dependent upon each of said multiple intermediate devices being configured to operate in a transparent data transfer mode. - View Dependent Claims (58, 59, 60)
-
-
61. A method for transferring data from a source device to a plurality of destination devices, wherein said source device is coupled to each of said destination devices through a plurality of intermediate devices, the method comprising:
-
configuring said source device to transfer a first plurality of data to a first destination device through one or more intermediate devices;
configuring each of said plurality of intermediate devices to operate in a synchronous data transfer mode;
transferring said first plurality of data from said source device to said first destination device during a first time period, wherein said first time period comprises one or more master clock cycles, and wherein said transferring comprises transferring the first plurality of data through a single intermediate device during each said master clock cycle;
configuring said source device to transfer a second plurality of data to a second destination device through said plurality of intermediate devices;
configuring each of said plurality of intermediate devices to operate in a transparent data transfer mode;
transferring said second plurality of data from said source device to said second destination device through multiple intermediate devices during a single master clock cycle.
-
-
62. A method of manufacturing an integrated circuit, the method comprising:
-
fabricating a unit comprising a processor and a dynamically configurable communication element;
wherein the processor comprises an arithmetic logic unit, an instruction processing unit, and a plurality of processor ports;
wherein the dynamically configurable communication element comprises a plurality of communication ports, a first memory, and a routing engine;
placing and interconnecting a plurality of said units on a substrate, wherein said plurality of processors and said plurality of dynamically configurable communication elements are coupled together in an interspersed arrangement;
wherein, for each of said processors, said plurality of processor ports are configured for coupling to a first subset of said plurality of dynamically configurable communication elements;
wherein, for each of said dynamically configurable communication elements, said plurality of communication ports comprise a first subset of communication ports configured for coupling to a subset of said plurality of processors and a second subset of communication ports configured for coupling to a second subset of said plurality of dynamically configurable communication elements.
-
-
63. A system, comprising:
-
a plurality of processors, each comprising;
at least one arithmetic logic unit;
at least one instruction processing unit coupled to control said arithmetic logic unit and including at least a first memory including a plurality of addressable locations; and
a plurality of processor ports, including a first subset coupled to said arithmetic logic unit and a second subset coupled to said instruction processing unit;
a plurality of dynamically configurable communication elements, each comprising;
a plurality of communication ports, including a third subset configured for coupling to a subset of said plurality of processors and a fourth subset configured for coupling to a subset of said plurality of dynamically configurable communication elements;
at least a second memory coupled to said plurality of communication ports via a plurality of access ports and including a plurality of addressable locations;
a routing engine coupled to said plurality of communication ports and configured to route data between any of said plurality of communication ports; and
a direct memory access engine coupled to said plurality of communication ports and configured to transfer data between said second memory and said plurality of communication ports;
wherein said plurality of processors and said plurality of dynamically configurable communication elements are manufactured on a single integrated circuit.
-
Specification