Clamping divider, processor having clamping divider, and method for clamping in division
First Claim
1. A clamping divider to be formed in a pipeline processor operating with a sequence of cycles, for clamping a result of a division to a maximum clamp value of 2m (m being an integer) if a quotient of the division is determined to become equal to or larger than the maximum clamp value and to a minimum claim value of 2n (n being an integer) if the quotient is determined to become equal to or smaller than the minimum clamp value, comprising:
- (a) a bit shifter for shiftings at a one of cycles in the sequence of the cycles, a divisor or a dividend of the division in a higher or lower direction by m bits, and shifting, at another one of cycles in the sequence of the cycles, the divisor or the dividend in a higher or lower direction by n bits;
(b) a multiple accumulator (MAC) for subtracting the dividend or divisor shifted by the bit shifter from the divisor or dividend, and according to a result of the subtraction, determining at the one cycle whether or not the result of the division must be clamped to the maximum clamp value before calculating the quotient, determining at the another one cycle whether or not the result of the division must be clamped to the minimum clamp value before calculating the quotient, and calculating the quotient at a cycle after the one and another one cycles; and
(c) an output circuit for providing the result of the division according to the determination made by the MAC.
1 Assignment
0 Petitions
Accused Products
Abstract
A clamping divider has a bit shifter, a multiple accumulator (MAC), and an output circuit. When executing a division with the use of a clamp value of 2m, the bit shifter shifts one of the divisor and dividend of the division, and the MAC subtracts the shifted one from the other to determine, before calculating a quotient of the division, whether or not a result of the division must be clamped.
36 Citations
23 Claims
-
1. A clamping divider to be formed in a pipeline processor operating with a sequence of cycles, for clamping a result of a division to a maximum clamp value of 2m (m being an integer) if a quotient of the division is determined to become equal to or larger than the maximum clamp value and to a minimum claim value of 2n (n being an integer) if the quotient is determined to become equal to or smaller than the minimum clamp value, comprising:
-
(a) a bit shifter for shiftings at a one of cycles in the sequence of the cycles, a divisor or a dividend of the division in a higher or lower direction by m bits, and shifting, at another one of cycles in the sequence of the cycles, the divisor or the dividend in a higher or lower direction by n bits; (b) a multiple accumulator (MAC) for subtracting the dividend or divisor shifted by the bit shifter from the divisor or dividend, and according to a result of the subtraction, determining at the one cycle whether or not the result of the division must be clamped to the maximum clamp value before calculating the quotient, determining at the another one cycle whether or not the result of the division must be clamped to the minimum clamp value before calculating the quotient, and calculating the quotient at a cycle after the one and another one cycles; and (c) an output circuit for providing the result of the division according to the determination made by the MAC. - View Dependent Claims (2, 3, 4)
-
-
5. A clamping divider for clamping a result of a division to a maximum clamp value of 2m (m being an integer) if a quotient of the division is equal to or larger than the maximum clamp value and to a minimum clamp value of 2n (n being an integer) if the quotient is equal to or smaller than the minimum clamp value, comprising:
-
(a) a bit shifter for shifting a divisor or a dividend of the division in a higher or lower direction by m bits when determining whether or not the quotient is equal to or greater than the maximum clamp value, and in a higher or lower direction by n bits when determining whether or not the quotient is equal to or smaller than the minimum clamp value; (b) a multiple accumulator (MAC) for subtracting the dividend or divisor shifted by the bit shifter from the divisor or dividend and according to a result of the subtraction, before calculating the quotient, determining whether or not the result of the division must be clamped to the maximum or minimum clamp value; and (c) an output circuit for providing the result of the division according to the determination made by the MAC, wherein the output circuit comprises; a 3-input selector for receiving the output of the MAC and the maximum and minimum clamp values; and an output register for holding the output of the selector. - View Dependent Claims (7, 8, 17)
-
-
6. A clamping divider for clamping a result of a division to a maximum clamp value of 2m (m being an integer) if a quotient of the division is equal to or larger than the maximum clamp value and to a minimum clamp value of 2n (n being an integer) if the quotient is equal to or smaller than the minimum clamp value, comprising:
-
(a) a priority encoder for receiving a divisor for standardizing the divisor to a value; (b) an input barrel shifter for receiving the output of the priority encoder, the divisor and a dividend, shifting the divisor and the dividend; (c) a bit shifter for shifting a divisor or a dividend of the division in a higher or lower direction by m bits when determining whether or not the quotient is equal to or greater than the maximum clamp value of "1" or below, in a higher or lower direction by n bits when determining whether or not the quotient is equal to or smaller than the minimum clamp value; (d) a multiple accumulator (MAC) for subtracting the dividend or divisor shifted by the bit shifter from the divisor or dividend shifted by the input barrel shifter, and, according to a result of the subtraction, before calculating the quotient, determining whether or not the result of the division must be clamped to the maximum or minimum clamp value; and (e) an output circuit for providing the result of the division according to the determination made by the MAC, wherein the output circuit comprises; a 3-input selector for receiving the output of the MAC and the maximum and minimum clamp values; and an output register for holding the output of the selector. - View Dependent Claims (9, 10)
-
-
11. A processor comprising:
-
(a) a clamping divider having; a bit shifter for shifting a divisor or a dividend of a division in a higher or lower direction by m bits when determining whether or not a quotient of the division is equal to or greater, than a maximum clamp value, and in a higher or lower direction by n bits when determining whether or not the quotient is equal to or smaller than a minimum clamp value; a multiple accumulator (MAC) for subtracting the dividend or divisor shifted by the bit shifter from the divisor or dividend, and according to a result of the subtraction and before calculating the quotient, determining whether or not a result of the division must be clamped to the maximum or minimum clamp value; and an output circuit for providing the result of the division according to the determination made by the MAC; (b) a unit for instructing the clamping divider to stop executing the division by a division instruction if the clamping divider determines that the result of the division execution must be clamped; and (c) another unit for instructing the clamping divider to start a next division execution if a next division instruction follows just after the division instruction. - View Dependent Claims (12)
-
-
13. A pipeline processing method with a sequence of cycles for clamping a result of a division to a maximum clamp value of 2m (m being an integer) if a quotient of the division is equal to or larger than the maximum clamp value and to a minimum clamp value of 2n (n being an integer) if the quotient is equal to or smaller than the minimum clamp value, the sequence comprising the steps of:
-
shifting a divisor or a dividend of the division in a higher or lower direction by m bits by a bit shifter, subtracting the shifted dividend or divisor from the dividend or the divisor to determine whether or not the result of the division must be clamped to the maximum value, in one cycle; shifting the divisor or dividend in a higher or lower direction by n bits by the bit shifter, subtracting the shifted dividend or divisor from the dividend or the divisor to determine whether or not the quotient is equal to or smaller than the minimum clamp value in another one cycle; and calculating the quotient in a cycle, after the one and the another cycles. - View Dependent Claims (14, 19)
-
-
15. A clamping divider for clamping a result of a division to a maximum clamp value of 2m (m being an integer) if a quotient of the division is equal to or larger than the maximum clamp value and to a minimum clamp value of 2n (n being an integer) if the quotient is equal to or smaller than the minimum clamp value, comprising:
-
(a) a bit shifter for shifting a divisor or a dividend of the division in a higher or lower direction by m bits, and in a higher or lower direction by n bits; (b) a multiple accumulator (MAC) for subtracting the dividend or divisor shifted by the bit shifter from the divisor or dividend, and according to a result of the subtraction and before calculating the quotient, determining whether or not the result of the division must be clamped to the maximum or minimum clamp value; (c) a 3-input selector for receiving the divisor, a value of "2" and a rounding value, being connected to the MAC; and (d) an output circuit for providing the result of the division according to the determination made by the MAC. - View Dependent Claims (16, 18)
-
-
20. A pipeline processing method for clamping a result of a division to a maximum value of 2m (m being an integer) and to a minimum clamp value of 2n (n being an integer), comprising the steps of:
-
storing a divisor and a dividend into registers, respectively, in a first cycle; standardizing the divisor, shifting the divisor, shifting the dividend in a higher or lower direction by m bits, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or greater than the maximum clamp value, in a second cycle; shifting the dividend in a higher or lower direction by n bits, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or smaller than the minimum clamp value, in a third cycle; calculating an intermediate result in a fourth cycle; calculating the quotient in a fifth cycle by using the intermediate result; and outputting the quotient in a sixth cycle.
-
-
21. A pipeline processing method for clamping a result of a division to a maximum value of 2m (m being an integer) and to a minimum clamp value of 2n (n being an integer), comprising the steps of:
-
storing a divisor and a dividend into registers, respectively, in a first cycle; standardizing the divisor, shifting the divisor, shifting the dividend in a higher or lower direction by n bits, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or smaller than the minimum clamp value, in a second cycle; shifting the dividend in a higher or lower direction by m bits, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or greater than the maximum clamp value, in a third cycle; calculating an intermediate result, in a fourth cycle; calculating the quotient in a fifth cycle by using the intermediate result; and outputting the quotient, in a sixth cycle.
-
-
22. A pipeline processing method for clamping a result of a division to a maximum value of "1" or below and to a minimum clamp value of 2n (n being an integer), comprising the steps of:
-
storing a divisor and a dividend into registers, respectively, in a first cycle; standardizing the divisor, shifting the divisor and dividend, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or greater than "1," in a second cycle; shifting the dividend in a higher direction by n bits, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or smaller than the minimum clamp value, in a third cycle; calculating an intermediate result, in a fourth cycle; calculating the quotient, in a fifth cycle, by using the intermediate result; and outputting the quotient in a sixth cycle.
-
-
23. A pipeline processing method for clamping a result of a division to a maximum value of "1" or below and to a minimum clamp value of 2n (n being an integer), comprising the cycles of:
-
storing a divisor and a dividend into registers, respectively, in a first cycle; standardizing the divisor, shifting the divisor and dividend, shifting the dividend in a higher direction by n bits, and subtracting the dividend from the divisor to determine whether or not the quotient is equal to or smaller than the minimum clamp value, in a second cycle; subtracting the dividend from the divisor to determine whether or not the quotient is equal to or greater than "1," in a third cycle; calculating an intermediate result, in a fourth cycle; calculating the quotient, in a fifth cycle, using the intermediate result; and outputting the quotient, in a sixth cycle.
-
Specification