Patent ID: 6751645
Filing Date: 2004-06-15
Classification: G06F

Abstract:
In a processor having an SRT division unit comprising a pre-processing portion, an iteration portion, and a post processing portion, the SRT division unit configured to process a method of performing high radix division with double pre-scaling of a dividend, wherein â€˜nâ€™ is the total number of quotient-bits to be generated, â€˜kâ€™ is the number of quotient-bits generated during a single iteration, and N is the number of iterations needed to determine all quotient-bits n, such that the relationship N=n/k applies, and wherein a radix r=2k, the method comprising the steps of:the SRT division unit receiving a divisor value DR and a dividend value DD from a storage location; generating a scaled divisor Y from the divisor value DR; generating a first scaled dividend value w[00] by performing a first pre-scaling operation on the dividend DD; generating a second scaled dividend value w[0] by performing a second pre-scaling operation on said dividend DD; and performing a first iteration, comprising the steps of: generating a first quotient-digit q[1] using said first scaled dividend value w[00]; generating a partial remainder value w[1] using said first quotient-digit q[1], said scaled divisor Y and a shifted second scaled dividend r*w[0]; performing a second iteration, comprising the steps of: generating a second quotient-digit q[2] using said second scaled dividend value w[0] and at least one bit from said first quotient-digit q[1]; generating a partial remainder value w[2] using said quotient-digit q[2], said scaled divisor Y and a shifted partial remainder r*w[1]; performing subsequent iterations j, wherein j=3 to N, said subsequent iterations comprising the steps of; generating a quotient-digit q[j] for iteration j using a partial remainder value w[jâˆ’2] from iteration jâˆ’2 and at least one bit from said quotient-digit q[jâˆ’1] from iteration jâˆ’1; generating a partial remainder value w[j] using said quotient-digit q[j], said scaled divisor Y and a shifted partial remainder r*w[jâˆ’1]; accumulating quotient-digits q[1] to q[N] into final quotient value.