A number of approaches have been developed to simplify the division process for applications that require only a certain set of integer divisors. We have significantly extended the range of applicability of the most realizable approach and, in particular, have provided a common definitive mathematical foundation for all approaches. This was previously lacking. The algorithm can be implemented completely in parallel with multiple copies of input values or pipelined at a bit level.
IntroductionDivision is the most complex of the basic computer arithmetic operations. Although the production of thd remainder (mod operation) is relatively straightforward (Knuth 1981), full division requires the development of a quotient as well as a remainder. ~e c a u s e of this a numb& of approaches have been developed for division by integer constants, a simpler, but pertinent task.There are a variety of applications requiring division in which the divisor can be limited to a constant or a set of constants. For example, large numbers of constant divisions are required in applications such as binary-decimal conversion as used by Schreiber and Stefanelli (1978) and Sites (1974) or address mapping in multidimensional memory schemes developed by Artzy et al. (1976) and Guei et al. (1985). Such divisions are also needed for shifting in decimal floating point systems (see Johannes et al. 1980, Petry 1983, Johnstone and Petry 1989, 1993 and mathematical equations in many algorithms, such as those that process operatorassisted telephone traffic (Li 1985). Specialized division methods have been developed for these applications, but typically these methods utilize some characteristic particular to the application. Hence, most of the work done on constant division has tended to be application specific and without a clearly established theoretical basis.Here we extend one of the most tractable approaches for binary-decimal conversion to a method covering a broader set of divisors (constants of the form 2"+ I), and present its mathematical foundations. We also review several related approaches and show the relationships between these approaches.