Title :
Integer division using reciprocals
Author :
Alverson, Robert
Author_Institution :
Tera Comput. Co., Seattle, WA, USA
Abstract :
By using a reciprocal approximation, integer division can be synthesized from a multiply followed by a shift. Without carefully selecting the reciprocal, however, the quotient obtained often suffers from off-by-one errors, requiring a correction step. The author describes the design decisions made when designing integer division for a new 64-b machine. The result is a fast and economical scheme for computing both unsigned and signed integer quotients which guarantees an exact answer without any correction. The reciprocal computation is fast enough, with one table lookup and five multiplies, so that this scheme is competitive with a dedicated divider, while requiring much less hardware specific to division. The real strength of the proposed method is division by a constant, which takes only a single multiply and shift, one operation on the machine considered. The analysis shows that the computed quotient is always exact: no adjustment or correction is necessary
Keywords :
approximation theory; digital arithmetic; number theory; 64-b machine; constant; correction step; dedicated divider; exact answer; integer division; multiplies; multiply; off-by-one errors; reciprocal approximation; shift; signed integer quotients; table lookup; unsigned integer quotients; Central Processing Unit; Clocks; Costs; Error correction; Hardware; Integrated circuit synthesis; Logic; Microprocessors; Pipelines; Table lookup;
Conference_Titel :
Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on
Conference_Location :
Grenoble
Print_ISBN :
0-8186-9151-4
DOI :
10.1109/ARITH.1991.145558