Data processor and microcomputer
AssigneeHitachi, Ltd.
InventorKunihiko Nakada
Life of this patent
Estimating the term…
Abstract
In a microcomputer incorporating a microprocessor, the coprocessor having product-sum operation arithmetic units executes residue multiplications given by "A=A.multidot.B.multidot.R.sup.-1 mod N+kN", "A=A.sup.2 .multidot.R.sup.-1 mod N+kN" and "A=A.multidot.R.sup.-1 mod N 30 kN" and is provided with a multiplication function of executing a preprocessing "R.sup.2 mod N" at high speed. It is possible to perform a power-residue operation "X.sup.Y mod N" at high speed by the microprocessor, using these calculation functions of the coprocessor.
Claims15
A data processor formed in a single semiconductor substrate, comprising:
- a calculation means to perform a residue operation defined by an operation expression "A.sub.out =f(A.sub.in) mod N+kN" where the input value A.sub.in and output value A.sub.out are integers equal to or greater than 0 and less than 2.sup.n, n is a positive integer representing the number of bits of an operand, N is an n-bit positive integer in the range of 0<N<2.sup.n, A.sub.in is an n-bit positive integer in the range of 0.ltoreq.A.sub.in <2.sup.n, A.sub.out is an n-bit positive integer in the range of 0.ltoreq.A.sub.out <2.sup.n, and k is 0 or a positive integer;
- and
- a control means to control the residue operation performed by the calculation means.
A data processor comprising a calculation means and a control means, both formed in a single semiconductor substrate;
- wherein the calculation means performs a residue operation defined by an operation expression "A.sub.out =f(A.sub.in) mod N+kN" where the input value A.sub.in and output value A.sub.out are greater than N and less than 2.sup.n, n is a positive integer representing the number of bits of an operand, N is an n-bit positive integer in the range of 0<N<2.sup.n, A.sub.in is an n-bit positive integer in the range of 0.ltoreq.A.sub.in <2.sup.n, A.sub.out is an n-bit positive integer in the range of 0.ltoreq.A.sub.out <2.sup.n and k is 0 or a positive integer;
- the control means controls the residue operation performed by the calculation means;
- the residue operation defined by "A.sub.out =f(A.sub.in) mod N+kN" includes a residue operation given by an operation expression "A.sub.out =A.sub.in .multidot.B.multidot.R.sup.-1 mod N+kN" where R is 2.sup.n, R.sup.-1 is an n-bit positive integer in the range of 0<R.sup.-1 .ltoreq.N that satisfies "R.multidot.R.sup.-1 mod N=1", and B is an n-bit positive integer in the range of 0.ltoreq.B<2.sup.n ;
- and the calculation means has a plurality of serially connected product-sum operation arithmetic units to execute the residue operation given by "A.sub.out =A.sub.in .multidot.B.multidot.R.sup.-1 mod N+kN".
A data processor formed in a single semiconductor substrate, comprising:
- a calculation means to perform a residue operation defined by an operation expression "A.sub.out =f(A.sub.in) mod N+kN" where the input value A.sub.in and output value A.sub.out are integers equal to or greater than 0 and less than 2.sup.n, n is a positive integer representing the number of bits of an operand, N is an n-bit positive integer in the range of 0<N<2.sup.n, A.sub.in is an n-bit positive integer in the range of 0.ltoreq.A.sub.in <.sup.2n, A.sub.out is an n-bit positive integer in the range of 0.ltoreq.A.sub.out <2.sup.n, and k is 0 or a positive integer;
- and
- a control means to control the residue operation performed by the calculation means;
- wherein the residue operation given by the operation expression "A.sub.out =A.sub.in .multidot.B.multidot.R.sup.-1 mod N+kN" includes a calculation given by "t=(A.sub.in .multidot.B+M.multidot.N)/R" and a calculation following the first calculation and given by "if t.gtoreq.R then return t-N else return t" where t-N or t is taken as A.sub.out, and the calculation means detects T.gtoreq.R based on the overflow of n bits of t.
Dependencies are inferred from the claim text.