Arithmetic logic unit with zero sum prediction
First Claim
1. An arithmetic logic unit comprising:
- operand register means for storing first and second operands and a carry-in;
result register means for storing a result and a one-bit zero indication of whether or not said result is zero;
operating means for applying an operation to said first and second operands so as to obtain said result, said operating means being coupled to said operand register means for receiving said first and second operands therefrom, said operating means being coupled to said result register means for providing said result thereto, said operating means includes an adder for providing said result as a sum of said operands and said carry-in; and
zero-prediction means for determining whether or not said result is to be zero by the time said result is obtained by said operating means, said zero-prediction means being coupled to said operand register means for receiving said operands therefrom, said zero-prediction means being coupled to said result register means for providing said zero indication thereto, said zero-prediction means including zero-prediction logic for determining whether or not said operands are two'"'"'s complements, said zero-prediction means determining whether or not said operands are one'"'"'s complements when said carry in is one, said zero-prediction logic having an addition mode and a subtraction mode, said zero-prediction logic including an AND gate means for providing said zero indication to said result register means, said AND gate means having plural inputs, at least one of said plural inputs while said zero-prediction logic is in said addition mode being coupled to sublogic implementing the function (An XNOR Bn) XOR (An-1 OR Bn-1), where An is the nth least significant bit of said first operand, An-1 is the (n-1)st least significant bit of said first operand, Bn is the nth least significant bit of said second operand, and Bn-1 is the (n-1)st least significant bit of said second operand, where n>
1.
9 Assignments
0 Petitions
Accused Products
Abstract
An arithmetic logic unit provides for zero-result prediction so as to eliminate the latency between successive operations (e.g., multiplication and division) when a zero detection is a condition for performance of the second operation. Instead of performing zero detection on the result, zero prediction is performed on the initial or intermediate operands, (e.g., partial products that are summed to generate a product). To this end, zero-prediction logic determines whether or not both of the following conditions are met: 1) either the least significant bits of the addends are the same and the carry-in is zero or the least significant bits of the addends are different and the carry-in is one. 2) for each pair of adjacent bit positions, the four included bits are consistent with addend complementarity. If both conditions are met, a zero result is predicted; otherwise, a non-zero result is predicted.
70 Citations
1 Claim
-
1. An arithmetic logic unit comprising:
-
operand register means for storing first and second operands and a carry-in; result register means for storing a result and a one-bit zero indication of whether or not said result is zero; operating means for applying an operation to said first and second operands so as to obtain said result, said operating means being coupled to said operand register means for receiving said first and second operands therefrom, said operating means being coupled to said result register means for providing said result thereto, said operating means includes an adder for providing said result as a sum of said operands and said carry-in; and zero-prediction means for determining whether or not said result is to be zero by the time said result is obtained by said operating means, said zero-prediction means being coupled to said operand register means for receiving said operands therefrom, said zero-prediction means being coupled to said result register means for providing said zero indication thereto, said zero-prediction means including zero-prediction logic for determining whether or not said operands are two'"'"'s complements, said zero-prediction means determining whether or not said operands are one'"'"'s complements when said carry in is one, said zero-prediction logic having an addition mode and a subtraction mode, said zero-prediction logic including an AND gate means for providing said zero indication to said result register means, said AND gate means having plural inputs, at least one of said plural inputs while said zero-prediction logic is in said addition mode being coupled to sublogic implementing the function (An XNOR Bn) XOR (An-1 OR Bn-1), where An is the nth least significant bit of said first operand, An-1 is the (n-1)st least significant bit of said first operand, Bn is the nth least significant bit of said second operand, and Bn-1 is the (n-1)st least significant bit of said second operand, where n>
1.
-
Specification