Goldschmidt Division

from Wikipedia, the free encyclopedia

The Goldschmidt Division is a method for realizing a division in a digital circuit quickly and with little hardware expenditure. The division is reduced to a multiplication, which means that multipliers that may already be present can also be used.

The Goldschmidt division approach is to consider the division as a fraction , which is expanded by the factor until the denominator has converged close enough to the value 1. The value of the counter then corresponds to the result of the division.

The steps to follow are:

  1. Choose an appropriate factor F i .
  2. Multiply the numerator and denominator by F i .
  3. If the denominator is close enough to 1, return the numerator, otherwise go to step 1.

If and are scaled in such a way that the expansion factors can easily be calculated:

This results in:

After a sufficiently large number of iterations , the quotient we are looking for is .

When implemented as a circuit, the multiplications of denominator and numerator can be carried out in parallel, which enables the algorithm to be processed quickly. The Goldschmidt division is used in the AMD - Athlon -CPUs and later models.

Binomial formula

The factors of the Goldschmidt division can be chosen in such a way that a simplification with the binomial formula is possible.

It was assumed that a power of two was scaled so that .

We put and .

Then:

Since we can to step round to-1. The maximum relative error is included and we get an accuracy of digital digits. This algorithm is referred to as the IBM method.

Similar procedures

Individual evidence

  1. ^ Applications of Division by Convergence by Robert E. Goldschmidt.  ( Page no longer available , search in web archivesInfo: The link was automatically marked as defective. Please check the link according to the instructions and then remove this notice. Massachusetts Institute of Technology, 1964.@1@ 2Template: dead link / dspace.mit.edu  
  2. ^ Stuart F. Oberman, "Floating Point Division and Square Root Algorithms and Implementation in the AMD-K7 Microprocessor," in Proc. IEEE Symposium on Computer Arithmetic , pp. 106-115, 1999
  3. Peter Soderquist and Miriam Leeser, "Division and Square Root: Choosing the Right Implementation", IEEE Micro , Vol.17 No.4, pp.56-66, July / August 1997
  4. Paul Molitor, "Draft digital systems with VHDL" ( Memento of the original from March 5, 2012 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / mephisto.informatik.uni-halle.de