US5379440A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Parallel processor with array of clustered processing elements having inputs seperate from outputs and outputs limited to a maximum of two per dimension
Assignee: Motorola Solutions Inc
•
Filing: 1991-12-17
•
Granted: 1995-01-03
•
Expires: 2011-12-17
Abstract
Abstract A processor is provided (FIG. 1) comprising a plurality of processing elements (10) arranged into D dimensions and divided into clusters (11), wherein all elements in a cluster have a bus (13) for communicating therebetween. Each element is a member of one cluster in each dimension. Each element in a cluster is connected to the bus in that cluster by output means (FIG. 3), for sending messages to a plurality of other elements in the cluster, and separate input means corresponding to each other element in the cluster for receiving messages from each other element on the corresponding separate input means.
Inventors
- 👤 Thomas Kelly
- 👤 Lewis M. Mackenzie
- 👤 Robert J. Sutherland
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 09:39
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17337; G06F15/17356; G06F15/17368; G06F15/17381
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
172 words
A processor comprising: a plurality of processing elements arranged in an array of D dimensions, where D is a positive integer greater than one, for parallel processing, each of said processing elements of the array having at least one and no more than two outputs per dimension and a plurality of inputs per dimension, separate from said outputs, said processing elements being divided into a plurality of clusters extending across all D dimensions, each processing element being a member of a cluster in each of the D dimensions, whereby each processing element of the array is a member of D different orthogonal clusters; each cluster comprising a bidirectional bus connected to all the processing elements in that respective cluster, said bus being connected to said at least one and no more than two outputs of each processing element in said cluster and to said plurality of inputs of each processing element in said cluster for communicating messages from any processing element in said cluster to all other processing elements in said cluster.
Claim 2
Dependent Claim
172 words
A processor comprising: a plurality of processing elements arranged in an array of D dimensions, where D is a positive integer greater than one, for parallel processing, each of said processing elements of the array having at least one and no more than two outputs per dimension and a plurality of inputs per dimension, separate from said outputs, said processing elements being divided into a plurality of clusters extending across all D dimensions, each processing element being a member of a cluster in each of the D dimensions, whereby each processing element of the array is a member of D different orthogonal clusters; each cluster comprising a bidirectional bus connected to all the processing elements in that respective cluster, said bus being connected to said at least one and no more than two outputs of each processing element in said cluster and to said plurality of inputs of each processing element in said cluster for communicating messages from any processing element in said cluster to all other processing elements in said cluster.
Claim 3
Dependent Claim
90 words
A processor according to claim 1, wherein the elements in a cluster are arranged in a line in a given dimension having first and second ends and a processing element positioned between the ends of the line having one output means for sending messages along the line to other elements on one side of said processing element in a first direction along the line and separate output means for sending messages to elements on the opposite side thereof in a second direction along the line, opposite to said first direction.
Claim 4
Dependent Claim
51 words
A processor according to claim 1, wherein each element comprises communications means for generating message packets for sending to other elements, and said communications means comprises means for generating an address identifying whether a packet is destined for the same cluster of processing elements or a different cluster of processing elements.
Claim 5
Dependent Claim
83 words
A processor according to claim 3, wherein each processing element comprises: means for receiving message packets from other processing elements in a cluster on one bus; means for identifying whether a packet is destined for the same cluster or a different, orthogonal cluster; a memory; and means for writing the packet into memory within the processing element if said packet is destined for the same cluster but retransmitting the packet on a different, orthogonal bus if said packet destined for a different cluster.
Claim 6
Dependent Claim
33 words
A processor according to claim 1, wherein each processing element further comprises means for receiving a message packet including an address, means for changing an address therein and means for retransmitting the packet.
Claim 7
Dependent Claim
45 words
A processor according to claim 1, wherein each processing element further comprises means for generating message packets for sending to other processing elements, wherein each packet contains a single address part, and at least one of a single instruction part and a single data part.
Claim 8
Dependent Claim
28 words
A processor according to claim 1 wherein the bus of a cluster is arranged to be electrically driven by an output device of only one element connected thereto.
Claim 9
Dependent Claim
12 words
A processor according to claim 1 having between two and three dimensions.
Claim 10
Dependent Claim
167 words
A processor comprising: a plurality of processing element clusters arranged in an array of D dimensions, where D is a positive integer greater than one, each cluster comprising: a plurality of processing elements, each processing element comprising processing means, at least one and no more than two outputs, and, separately, an input corresponding to each other processing element in the cluster, and a bi-directional bus connecting an output of each processing element in the cluster to an input of each other processing element in the cluster; whereby each bus transfers messages between processing elements in a cluster; each processing element being a member of a cluster in each orthogonal dimension and each processing element comprising at least one and no more than two further outputs for each other cluster of which said processing elements is a member and a separate and additional input corresponding to each other processing element of said other cluster, whereby each processing element transfers messages between busses of different clusters in different dimensions.
Claim 11
Dependent Claim
167 words
A processor comprising: a plurality of processing element clusters arranged in an array of D dimensions, where D is a positive integer greater than one, each cluster comprising: a plurality of processing elements, each processing element comprising processing means, at least one and no more than two outputs, and, separately, an input corresponding to each other processing element in the cluster, and a bi-directional bus connecting an output of each processing element in the cluster to an input of each other processing element in the cluster; whereby each bus transfers messages between processing elements in a cluster; each processing element being a member of a cluster in each orthogonal dimension and each processing element comprising at least one and no more than two further outputs for each other cluster of which said processing elements is a member and a separate and additional input corresponding to each other processing element of said other cluster, whereby each processing element transfers messages between busses of different clusters in different dimensions.
Claim 12
Dependent Claim
161 words
A processor comprising: a plurality of processing elements arranged in D dimensions where D is a positive integer greater than one and divided into clusters of processing elements, each processing element being a member of one cluster in each of said D dimensions. each cluster comprising a bi-directional bus for communicating between processing elements in that cluster; each processing element of each cluster comprising at least one and no more than two output lines per dimension: each processing element of each cluster comprising an input line corresponding to each other processing element of each cluster of which said processing element is a member; connection means connecting each processing element in a cluster to the bus in that cluster by an output line, for sending messages to a plurality of other processing elements in the cluster and by a separate input line corresponding to each other processing element in the cluster, for receiving message from each other processing element in the cluster.
Claim 13
Dependent Claim
161 words
A processor comprising: a plurality of processing elements arranged in D dimensions where D is a positive integer greater than one and divided into clusters of processing elements, each processing element being a member of one cluster in each of said D dimensions. each cluster comprising a bi-directional bus for communicating between processing elements in that cluster; each processing element of each cluster comprising at least one and no more than two output lines per dimension: each processing element of each cluster comprising an input line corresponding to each other processing element of each cluster of which said processing element is a member; connection means connecting each processing element in a cluster to the bus in that cluster by an output line, for sending messages to a plurality of other processing elements in the cluster and by a separate input line corresponding to each other processing element in the cluster, for receiving message from each other processing element in the cluster.
Claim 14
Dependent Claim
84 words
A processor according to claim 10, wherein the processing elements in a cluster are arranged in a line and a processing element positioned between the ends of the line having one output means for sending messages along the line to other processing elements on one side of said processing element in a first direction along the line and separate output means for sending messages to processing elements on the opposite side thereof in a second direction along the line, opposite to said first direction.
Claim 15
Dependent Claim
53 words
A processor according to claim 11, wherein each processing element comprises communications means for generating message packets for sending to other processing elements, and said communications means comprises means for generating an address identifying whether said packet is destined for the same cluster of processing elements or a different cluster of processing elements.
Claim 16
Dependent Claim
82 words
A processor according to claim 12, wherein each processing element comprises means for receiving message packets from other processing elements in a cluster on one bus, means for identifying whether a packet is destined for the same cluster or a different, orthogonal cluster and means for writing the packet into memory within the processing element if said packet is destined for the same cluster but retransmitting the packet on a different, orthogonal bus if said packet is destined for a different cluster.
Claim 17
Dependent Claim
30 words
A processor according to claim 10, wherein each processing element further comprises means for receiving a message packet, means for changing an address therein and means for retransmitting the packet.
Claim 18
Dependent Claim
46 words
A processor according to claim 10, wherein each processing element further comprises means for generating message packets for sending to other processing elements, wherein each packet contains a single address part, and at least one of a single instruction part with and a single data part.
Claim 19
Dependent Claim
29 words
A processor according to claim 10 wherein the bus of a sub-set is arranged to be electrically driven by an output device of only one processing element connected thereto.
Claim 20
Dependent Claim
12 words
A processor according to claim 10 having between two and three dimensions.
References Cited (Backward Citations)
US4247892A
Cited
US4517659A
Cited
US4663706A
Cited
US4598400A
Cited
US5065308A
Cited
US4805091A
Cited
US4797882A
Cited
US5175865A
Cited
US4811214A
Cited
US4933933A
Cited
US5093920A
Cited
US4942517A
Cited
US5170463A
Cited
US5101480A
Cited
US5134690A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-01-02 | 1998-07-04 | 1999-01-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-01-02 | 2002-07-04 | 2003-01-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-01-02 | 2006-07-04 | 2007-01-03 | $7700.00 | Window Closed / Lapsed |