System and method for intercommunication between computers in an array
First Claim
Patent Images
1. A computer array, comprising:
- a plurality of computers integrated on a unitary substrate, each of the plurality of computers including read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; and
a plurality of data paths connecting the computers, the data paths being dedicated for communication between associated pairs of the computers; and
wherein,at least some of the computers are assigned a task different from that assigned to the other computers;
intercommunication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and
intercommunication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer array (10) has a plurality of computers (12) for accomplishing a larger task that is divided into smaller tasks, each of the smaller tasks being assigned to one or more of the computers (12). Each of the computers (12) may be configured for specific functions and individual input/output circuits (26) associated with exterior computers (12) are specifically adapted for particular input/output functions. An example of 25 computers (12) arranged in the computer array (10) has a centralized computational core (34) with the computers (12) nearer the edge of the die (14) being configured for input and/or output.
186 Citations
52 Claims
-
1. A computer array, comprising:
-
a plurality of computers integrated on a unitary substrate, each of the plurality of computers including read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; and a plurality of data paths connecting the computers, the data paths being dedicated for communication between associated pairs of the computers; and
wherein,at least some of the computers are assigned a task different from that assigned to the other computers; intercommunication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and intercommunication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 27, 28, 29, 30, 31, 32, 33, 37, 38, 39, 40, 41, 52)
-
-
14. A method for performing a computerized job, comprising:
-
providing a plurality of computers integrated in a unitary substrate and interconnected via discrete sets of data lines, each set of data lines being dedicated to a particular pair of the computers; assigning a different task to at least some of the computers; and executing the tasks on the assigned computers; and
whereineach of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; intercommunication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the sets of data lines is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and intercommunication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer array, comprising:
-
a plurality of computers on an integrated circuit chip, each of the plurality of computers including read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; and a plurality of data connections between the computers, each of the data connections being directly accessible to no more than two of the computers; and
whereinat least some of the computers are programmed to perform different functions; communication via each of the plurality of data connections is carried out by the execution of the instructions by the processors of the no more than two computers associated with each data connection; communication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data connections is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and communication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out through the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (20, 21, 22)
-
-
23. A method for accomplishing a task using a plurality of computers, comprising:
-
providing the plurality of computers on an integrated substrate and interconnected by data lines, each of the data lines being accessible to no more than two of the computers; dividing a task into operational components and assigning each of the operational components to one of the computers; programming at least some of the computers to accomplish each of the operational components; and executing the operational components on the assigned computers; and
whereineach of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; communication via each of the data lines is carried out by the execution of the instructions by the processors of the no more than two computers having access to the data line; communication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data lines is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and communication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (24, 25, 26)
-
-
34. A computer array, comprising:
-
a plurality of computers integrated on a substrate, each of the plurality of computers including read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; and a plurality of dedicated data paths connecting pairs of the computers; and
whereinat least some of the computers are assigned a task different from that assigned to the other computers; at least some of the computers include dedicated memory for the exclusive use of an associated one of the computers; intercommunication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of said plurality of computers and the nearest neighbor computer; and intercommunication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer.
-
-
35. A computer array, comprising:
-
a plurality of computers on a unitary substrate, the computers operating asynchronously; and a plurality of data paths between the computers, each of the data paths facilitating communication between no more than two of the computers; and
whereinat least some of the computers are assigned a task different from that assigned to the other computers; each of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; communication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out through by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and communication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (36)
-
-
42. A computer array, comprising:
-
a plurality of computers each hard wired to communicate with at least three of the plurality of computers; and a plurality of data paths connecting the computers, each of the data paths being dedicated to an adjacent pair of the computers; and
wherein,at least some of the computers are assigned a task different from that assigned to the other computers; each of the plurality of computers is integrated on a unitary substrate; each of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; communication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor; and communication between the one of said plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (43, 44)
-
-
45. A computer array, comprising:
-
a plurality of computers each hard wired to communicate with at least three of the plurality of computers; and a plurality of data paths connecting the computers, each of the data paths being connected to no more than two of the computers; and
wherein,at least some of the computers are assigned a task different from that assigned to the other computers; and
whereineach of the plurality of computers is integrated on a unitary substrate; each of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; communication between one of said plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and communication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer. - View Dependent Claims (46, 47)
-
-
48. A computer array, comprising:
-
at least twenty-four computers integrated in a unitary substrate; and a plurality of data paths connecting the computers, the data paths being dedicated for communication between associated pairs of the computers; and
wherein,each of the computers includes dedicated read-only memory for storing instructions, dedicated random access memory for storing data and instructions, and a processor for executing the instructions; each of the computers is coupled to communicate with at least two of the other computers; each of the computers operates internally in an asynchronous manner; each of the computers communicates with the other computers asynchronously; communication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and communication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer.
-
-
49. A computer array, comprising:
-
a plurality of computers integrated in a unitary substrate, each of the plurality of computers including read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; and a plurality of data paths connecting the computers, the data paths being physical, point-to-point links between associated pairs of the computers; and
wherein,at least some of the computers are assigned a task different from that assigned to the other computers; communication between one of the plurality of computers and a nearest neighbor computer connected to the one of the plurality of computers via one of the data paths is carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer; and communication between the one of the plurality of computers and a non-nearest neighbor computer must be carried out by the execution of the instructions by the processors of the one of the plurality of computers and the nearest neighbor computer.
-
-
50. A computer array, comprising:
-
a plurality of independently functioning computers arranged in a matrix on a unitary substrate, each of said plurality of computers having at least two nearest neighbor computers; and a plurality of sets of interconnecting dedicated data lines, each individual set of said plurality of sets of data lines being disposed between an individual computer and one of its nearest neighbor computers of said plurality of computers or between said individual computer and an external device, each of said plurality of sets of data lines being connected to no more than two of said plurality of computers; thereby enabling execution of a plurality of tasks by said plurality of computers, the execution of some of said tasks being different from the execution of others of said tasks; and
whereineach of said plurality of computers communicates with at least three others of said plurality of computers within said matrix; each of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; communication between one of said plurality of computers and one of its nearest neighbor computers is carried out by the execution of said instructions by said processors of said one of said plurality of computers and said one of its nearest neighbor computers; and communication between said one of said plurality of computers and a non-nearest neighbor computer must be carried out by the execution of said instructions by said processors of said one of said plurality of computers and said one of its nearest neighbor computers.
-
-
51. A computer array, comprising:
-
a plurality of independently functioning computers arranged in a matrix on a unitary substrate, each of said plurality of computers having at least two nearest neighbor computers; and a plurality of sets of interconnecting dedicated data lines, each individual set of said plurality of sets of data lines being disposed between an individual computer and one of its nearest neighbor computers of said plurality of computers; thereby enabling execution of a plurality of tasks by said plurality of computers, the execution of some of said tasks being different from the execution of others of said tasks; and
whereineach of said plurality of computers is dedicated to communicate with at least three of said plurality of computers within said matrix; each of the plurality of computers includes read-only memory for storing instructions, random access memory for storing data and instructions, and a processor for executing the instructions; communication between said individual computer and said one of its nearest neighbor computers is carried out by the execution of said instructions by said processors of said individual computer and said one of said nearest neighbor computers connected to said set of interconnecting dedicated data lines; and communication between said individual computer and a non-nearest neighbor computer must be carried out by the execution of said instructions by said processors of said individual computer and said one of its nearest neighbor computers.
-
Specification