Method and system for large number multiplication
AssigneeInside Contactless
InventorsVincent Dupaquis, Russell Hobson
Life of this patent
Estimating the term…
Loading patent…
AssigneeInside Contactless
InventorsVincent Dupaquis, Russell Hobson
Estimating the term…
Methods, apparatus and systems for large number multiplication. A multiplication circuit is provided to compute the product of two operands (A and B), at least one of which is wider than a width associated with the multiplication circuit. Each of the operands includes contiguous ordered word-wide operand segments (Aj and Bi) characterized by specific weights j (integer from 0 to k) and i (integer from 0 to m). The multiplication circuit executes a matrix of word-wide operand segment pair multiplication operations. Multiplication operations are performed on a pair of rows at one time. For each pair of rows, a pair of corresponding Bi word-wide operand segments are read from a memory and word-wide operand segment pair multiplication operations (Aj*Bi) are iteratively performed for each of k+2 columns. For each column a maximum of two additional memory read operations and one memory write operation is required.
A computer implemented method of operating a multiplication circuit to compute the product of two operands (hereby identified as A and B), at least one of which is wider than a width associated with the multiplication circuit, where operand A comprises one or more contiguous ordered word-wide operand segments characterized by weight j and identified as Aj, where j is an integer from 0 to k and operand B comprises one or more contiguous ordered word-wide operand segments characterized by weight i and identified as Bi, where i is an integer from 0 to m, and a word is a specified number of bits (n), and where the multiplication circuit executes a matrix of word-wide operand segment pair multiplication operations, the matrix comprising m+1 rows and k+m+2 columns, each row having a weight x where x is an integer from 0 to m and each column having a weight y where y is an integer from 0 to (k+m+1), the multiplication circuit having access to a memory, the method comprising:
A computer implemented method of operating a multiplication circuit to compute the product of two operands (hereby identified as A and B), at least one of which is wider than the multiplication circuit, where operand A comprises one or more contiguous ordered word-wide operand segments characterized by weight j and identified as Aj, where j is an integer from 0 to k and operad B comprises one or more contiguous ordered word-wide operand segments characterized by weight and identified as Bi, where i is an integer from 0 to m, and a word is a specified number of bits (n), and where the multiplication circuit executes a matrix of word-wide operand segment pair multiplication operations, the matrix comprising m+1 rows and k+m+2 columns, each row having a weight x where x is an integer from 0 to m and each column having a weight y where y is an integer from 0 to (k+m+1), the multiplication circuit having access to a memory, the method comprising:
A computer program product, tangibly stored on a computer-readable medium, for operating a multiplication circuit to compute the product of two operands (hereby identified as A and B), at least one of which is wider than the multiplication circuit, where operand A comprises one or more contiguous ordered word-wide operand segments characterized by weight j and identified as Aj, where j is an integer from 0 to k and operand B comprises one or more contiguous ordered word-wide operand segments characterized by weight i and identified as Bj, where i is an integer from 0 to m, and a word is a specified number of bits (n), and where the multiplication circuit executes a matrix of word-wide operand segment pair multiplication operations, the matrix comprising m+1 rows and k+m+2 columns, each row having a weight x where x is an integer from 0 to m and each column having a weight y where y is an integer from 0 to (k+m+1), the multiplication circuit having access to a memory, comprising instructions operable to cause a programmable processor to:
A system for computing the product of two operands (hereby identified as A and B), at least one of which is wider than a width associated with the multiplication circuit, where operand A comprises one or more contiguous ordered word-wide operand segments characterized by weight j and identified as Aj, where j is an integer from 0 to k and operand B comprises one or more contiguous ordered word-wide operand segments characterized by weight i and identified as Bi, where i is an integer from 0 to m, and a word is a specified number of bits (n), and where the system executes a matrix of word-wide operand segment pair multiplication operations, the matrix comprising m+1 rows and k+m+2 columns, each row having a weight x where x is an integer from 0 to m and each column having a weight y where y is an integer from 0 to (k+m+1), the multiplication circuit having access to a memory, the system comprising:
A computer implemented method to compute the product of two operands (hereby identified as A and B), at least one of which is wider than a width associated with a multiplication circuit performing the multiplication, the method comprising:
A system for operating a multiplication circuit to compute the product of two operands (hereby identified a A and B), at least one of which is wider than the multiplication circuit, where operand A comprises one or more contiguous ordered word-wide operand segments characterized by weight j and identified as Aj, where j is an integer from 0 to k and operand B comprises one or more contiguous ordered word-wide operand segments characterized by weight i and identified as Bi, where i is an integer from 0 to m, and a word is a specified number of bits (n), and where the multiplication circuit executes a matrix of word-wide operand segment pair multiplication operations, the matrix comprising m+1 rows and k+m+2 columns, each row having a weight x where x is an integer from 0 to m and each column having a weight y where y is an integer from 0 to (k+m+1), the multiplication circuit having access to a memory, comprising:
Dependencies are inferred from the claim text.