Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
231 words
A digital data processor for multiplying row elements of a first input matrix by column elements of a second input matrix to form a product matrix, the processor including: a systolic array of processing cells arranged for bit-level multiplication; data input means for effecting bit-level matrix element input to the array for multiplication of each bit of each first matrix row element by each bit of each of the second matrix elements in a respective column; wherein the data input means is arranged both for matrix input with zeros interspersed between adjacent bits of each matrix element and for producing a cumulative time stagger between input of adjacent rows of the first matrix and adjacent columns of the second matrix, accumulating means for summing array output contributions to each bit of each product matrix element; and clocking means for controlling operation of the processing cells, data input means and accumulating means, the clocking means being arranged to advance both input matrices by one cell through the array on each clock cycle, wherein the processing cells are nearest-neighbour connected and have processing functions to evaluate the product of two input data bits, add the product to an input cumulative sum bit and a carry bit from a next lower order bit computation, output a corresponding result, generate a new carry bit and pass on the input data bits to respective neighbouring cells.
Claim 2
Dependent Claim
231 words
A digital data processor for multiplying row elements of a first input matrix by column elements of a second input matrix to form a product matrix, the processor including: a systolic array of processing cells arranged for bit-level multiplication; data input means for effecting bit-level matrix element input to the array for multiplication of each bit of each first matrix row element by each bit of each of the second matrix elements in a respective column; wherein the data input means is arranged both for matrix input with zeros interspersed between adjacent bits of each matrix element and for producing a cumulative time stagger between input of adjacent rows of the first matrix and adjacent columns of the second matrix, accumulating means for summing array output contributions to each bit of each product matrix element; and clocking means for controlling operation of the processing cells, data input means and accumulating means, the clocking means being arranged to advance both input matrices by one cell through the array on each clock cycle, wherein the processing cells are nearest-neighbour connected and have processing functions to evaluate the product of two input data bits, add the product to an input cumulative sum bit and a carry bit from a next lower order bit computation, output a corresponding result, generate a new carry bit and pass on the input data bits to respective neighbouring cells.
Claim 3
Dependent Claim
92 words
A digital data processor according to claim 1 wherein the data input means is arranged both for matrix input without zeros interspersed between adjacent matrix element bits and for producing a cumulative time stagger between input of alternate rows of the first matrix and alternate columns of the second matrix, and wherein the clocking means is arranged for advancing on alternate clock cycles both adjacent rows of the first matrix and adjacent columns of the second matrix such that advanced input matrix elements are multiplied by non-advanced matrix elements on each cycle.
Claim 4
Dependent Claim
132 words
A digital data processor for multiplying row elements of a first input matrix by column elements of a second input matrix to form a product matrix, the processor including: a systolic array of processing cells arranged for bit-level multiplication; data input means arranged to effect bit-level matrix element input to the array for multiplication of each bit each first matrix row element by each bit of each of the second matrix elements in a respective column; accumulating means arranged to sum array output contributions to each bit of each product matrix element; the accumulating means including pairs of mutually intercalated adder trees arranged to sum array output contributions to each bit of each product matrix element; and clocking means to control operation of the processing cells, data input means and accumulating means.
Claim 5
Dependent Claim
132 words
A digital data processor for multiplying row elements of a first input matrix by column elements of a second input matrix to form a product matrix, the processor including: a systolic array of processing cells arranged for bit-level multiplication; data input means arranged to effect bit-level matrix element input to the array for multiplication of each bit each first matrix row element by each bit of each of the second matrix elements in a respective column; accumulating means arranged to sum array output contributions to each bit of each product matrix element; the accumulating means including pairs of mutually intercalated adder trees arranged to sum array output contributions to each bit of each product matrix element; and clocking means to control operation of the processing cells, data input means and accumulating means.
Claim 6
Dependent Claim
24 words
A digital data processor according to claim 3 including switching means arranged to switch individual array outputs from one respective adder tree to another.
Claim 7
Dependent Claim
34 words
A digital data processor according to claim 4 including control means arranged to actuate the switching means in conjunction with entry of a leading bit of a matrix element into an array output cell.
Claim 8
Dependent Claim
71 words
A digital data processor according to claim 5 wherein the control means includes two control lines each containing a respective latch associated with each array output cell, means for generating control pulses for propagation along the control lines in synchronism with array throughput of leading matrix element bits, and subsidiary switching means for switching individual array outputs from one respective adder tree to another in response to actuation by control pulses.
Claim 9
Dependent Claim
348 words
A digital data processor for multiplying row elements of a first input matrix by column elements of a second input matrix to form product matrix elements, each matrix element being a digital word, comprising: an array of bit-level logic cells arranged in rows and columns, wherein each logic cell is arranged to: (a) input two matrix element bits together with carry and cumulative sum bits, (b) compute output cumulative sum and carry bits corresponding to addition of the input cumulative sum and carry bits to the product of the input matrix element bits, (c) output both matrix element bits and the output cumulative sum bit, and (d) recirculate the output carry bit on the respective cell to provide an input carry bit to a succeeding computation; nearest neighbour cell interconnection means for allowing matrix element bit movement along array rows and for allowing cumulative sum generation to be cascaded down array columns, the interconnection means including clock-activated latch means for bit storage and advance; wherein each row of the array is arranged to receive a respective first matrix row of elements and a respective second matrix column of elements input to mutually opposite row ends and disposed both bit and word serially with least significant bits leading; wherein the latch means are also for clock activation both to advance first matrix row elements and second matrix column elements in counterflow along array rows and to cascade cumulative sum generation down array columns; and wherein the array columns have final logic cells, each having a cumulative sum output for association with those of respective nearby cells, and further comprising a plurality of switching means for switching said cumulative sum outputs; and first and second accumulating means, arranged to add the respective cumulative sum output to those of nearby final cells of other columns at least predominantly to one side of one of said cells as selected by each switching means, each switching means being arranged to alternate cell output summing between the first and second accumulating means as appropriate to isolate and sum contributions to different product matrix elements.
Claim 10
Dependent Claim
348 words
A digital data processor for multiplying row elements of a first input matrix by column elements of a second input matrix to form product matrix elements, each matrix element being a digital word, comprising: an array of bit-level logic cells arranged in rows and columns, wherein each logic cell is arranged to: (a) input two matrix element bits together with carry and cumulative sum bits, (b) compute output cumulative sum and carry bits corresponding to addition of the input cumulative sum and carry bits to the product of the input matrix element bits, (c) output both matrix element bits and the output cumulative sum bit, and (d) recirculate the output carry bit on the respective cell to provide an input carry bit to a succeeding computation; nearest neighbour cell interconnection means for allowing matrix element bit movement along array rows and for allowing cumulative sum generation to be cascaded down array columns, the interconnection means including clock-activated latch means for bit storage and advance; wherein each row of the array is arranged to receive a respective first matrix row of elements and a respective second matrix column of elements input to mutually opposite row ends and disposed both bit and word serially with least significant bits leading; wherein the latch means are also for clock activation both to advance first matrix row elements and second matrix column elements in counterflow along array rows and to cascade cumulative sum generation down array columns; and wherein the array columns have final logic cells, each having a cumulative sum output for association with those of respective nearby cells, and further comprising a plurality of switching means for switching said cumulative sum outputs; and first and second accumulating means, arranged to add the respective cumulative sum output to those of nearby final cells of other columns at least predominantly to one side of one of said cells as selected by each switching means, each switching means being arranged to alternate cell output summing between the first and second accumulating means as appropriate to isolate and sum contributions to different product matrix elements.
Claim 11
Dependent Claim
54 words
A digital data processor according to claim 7 wherein each of the first and second accumulating means comprises an adder tree, and each switching means includes control means arranged to actuate switching in synchronism with an input of a leading bit of a matrix element to the respective array column final cell associated therewith.
Claim 12
Dependent Claim
68 words
A digital data processor according to claim 8 where the control means includes two control lines, each containing a respective latch associated with each array column final cell, the control lines being arranged for propagation of control pulses in synchronism with array throughput of leading matrix element bits, and wherein each switching means is arranged to operate in response to receipt of each of the said control pulses.