Digital processor for simulating operation of a parallel processing array
First Claim
1. A digital data processor for simulating operation of a parallel processing array, the processor including an assembly of digital processing devices connected to data storing means, wherein:
- (a) each processing device is programmed to implement a respective list of sets of storing means data addresses;
(b) each address set contains input data addresses and output data addresses said input data addresses are different from said output data addresses in each address set, and each address set corresponds to data input/output functions of a respective simulated array cell;
(c) each list of address sets corresponds to a respective sub-array of cells of the simulated array, and each such list contains pairs of successive address sets in which the leading address sets have input data addresses which are the same as output data addresses of respective successive address sets, each list being arranged to provide for operations associated with simulated cells to be executed in reverse order to that corresponding to data flow through the simulated array; and
(d) each processing device is programmed to employ a respective first address set from said respective list to read input data from input data addresses in said respective first address set and to write output data to output data addresses in said respective first address set, the output data being generated in accordance with a computational function, to employ subsequent address sets in said respective lists in succession in a like manner until the list is complete, and then to repeat this procedure cyclically using said respective list repeatedly.
5 Assignments
0 Petitions
Accused Products
Abstract
A digital processor for simulating operation of a parallel processing array incorporates digital processing units (P1 to P8) communicating data to one another via addresses in memories (M0 to M8) and registers (R11 to R41). Each processing unit (e.g. P1) is programmed to input data and execute a computation involving updating of a stored coefficient followed by data output. Each computation involves use of a respective set of data addresses for data input and output, and each processing unit (e.g. P1) is programmed with a list of such sets employed in succession by that unit. On reaching the end of its list, the processing unit (e.g. P1) repeats it. Each address set is associated with a conceptual internal cell location in the simulated array (10), and each list is associated with a respective sub-array of the simulated array (10). Data is input cyclically to the processor (40) via input/output ports (I/O5 to I/O8) of some of the processing units (P5 to P8). Each processing unit (e.g. P1) executes its list of address sets within a cycle at a rate of one address set per subcycle. At the end of its list, each of the processing units (P1 to P8) has executed the functions associated with a conceptual respective sub-array of simulated cells (12), and the processor (40) as a whole has simulated operation of one cycle of a systolic array (10). Repeating the address set lists with further processor input provides successive simulated array cycles.
-
Citations
5 Claims
-
1. A digital data processor for simulating operation of a parallel processing array, the processor including an assembly of digital processing devices connected to data storing means, wherein:
-
(a) each processing device is programmed to implement a respective list of sets of storing means data addresses; (b) each address set contains input data addresses and output data addresses said input data addresses are different from said output data addresses in each address set, and each address set corresponds to data input/output functions of a respective simulated array cell; (c) each list of address sets corresponds to a respective sub-array of cells of the simulated array, and each such list contains pairs of successive address sets in which the leading address sets have input data addresses which are the same as output data addresses of respective successive address sets, each list being arranged to provide for operations associated with simulated cells to be executed in reverse order to that corresponding to data flow through the simulated array; and (d) each processing device is programmed to employ a respective first address set from said respective list to read input data from input data addresses in said respective first address set and to write output data to output data addresses in said respective first address set, the output data being generated in accordance with a computational function, to employ subsequent address sets in said respective lists in succession in a like manner until the list is complete, and then to repeat this procedure cyclically using said respective list repeatedly. - View Dependent Claims (2, 3, 4, 5)
-
Specification