Booth's Multiplication Algorithm - A Typical Implementation

A Typical Implementation

Booth's algorithm can be implemented by repeatedly adding (with ordinary unsigned binary addition) one of two predetermined values A and S to a product P, then performing a rightward arithmetic shift on P. Let m and r be the multiplicand and multiplier, respectively; and let x and y represent the number of bits in m and r.

  1. Determine the values of A and S, and the initial value of P. All of these numbers should have a length equal to (x + y + 1).
    1. A: Fill the most significant (leftmost) bits with the value of m. Fill the remaining (y + 1) bits with zeros.
    2. S: Fill the most significant bits with the value of (−m) in two's complement notation. Fill the remaining (y + 1) bits with zeros.
    3. P: Fill the most significant x bits with zeros. To the right of this, append the value of r. Fill the least significant (rightmost) bit with a zero.
  2. Determine the two least significant (rightmost) bits of P.
    1. If they are 01, find the value of P + A. Ignore any overflow.
    2. If they are 10, find the value of P + S. Ignore any overflow.
    3. If they are 00, do nothing. Use P directly in the next step.
    4. If they are 11, do nothing. Use P directly in the next step.
  3. Arithmetically shift the value obtained in the 2nd step by a single place to the right. Let P now equal this new value.
  4. Repeat steps 2 and 3 until they have been done y times.
  5. Drop the least significant (rightmost) bit from P. This is the product of m and r.

Read more about this topic:  Booth's Multiplication Algorithm

Famous quotes containing the word typical:

    It was announced that the trouble was not “malignant.”... It was a typical triumph of modern science to find the only part of Randolph that was not malignant and remove it.
    Evelyn Waugh (1903–1966)