← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag