Booth Algorithem
Booth Algorithem
Booth Algorithem
The booth algorithm is a multiplication algorithm that allows us to multiply the two signed binary
integers in 2's complement, respectively. It is also used to speed up the performance of the
multiplication process. It is very efficient too. It works on the string bits 0's in the multiplier that
requires no additional bit only shift the right-most string bits and a string of 1's in a multiplier bit
weight 2k to weight 2m that can be considered as 2k+ 1 - 2m.
In the above flowchart, initially, AC and Qn + 1 bits are set to 0, and the SC is a sequence counter
that represents the total bits set n, which is equal to the number of bits in the multiplier. There
are BR that represent the multiplicand bits, and QR represents the multiplier bits. After that, we
encountered two bits of the multiplier as Q n and Qn + 1, where Qn represents the last bit of QR, and
Qn + 1 represents the incremented bit of Qn by 1. Suppose two bits of the multiplier is equal to 10; it
means that we have to subtract the multiplier from the partial product in the accumulator AC and
then perform the arithmetic shift operation (ashr). If the two of the multipliers equal to 01, it
means we need to perform the addition of the multiplicand to the partial product in accumulator
AC and then perform the arithmetic shift operation (ashr), including Qn + 1. The arithmetic shift
operation is used in Booth's algorithm to shift AC and QR bits to the right by one and remains the
sign bit in AC unchanged. And the sequence counter is continuously decremented till the
computational loop is repeated, equal to the number of bits (n).
Q.Example: Multiply the two numbers 7 and 3 by using the Booth's multiplication algorithm.
Ans. Here we have two numbers, 7 and 3. First of all, we need to convert 7 and 3 into binary
numbers like 7 = (0111) and 3 = (0011). Now set 7 (in binary 0111) as multiplicand (M) and 3 (in
binary 0011) as a multiplier (Q). And SC (Sequence Count) represents the number of bits, and here
we have 4 bits, so set the SC = 4. Also, it shows the number of iteration cycles of the booth's
algorithms and then cycles run SC = SC - 1 time.
Qn Qn + 1 M = (0111) AC Q Qn + 1 SC
M' + 1 = (1001) & Operation
1001
0 1 Addition (A + M) 0111
0101 0100
The numerical example of the Booth's Multiplication Algorithm is 7 x 3 = 21 and the binary
representation of 21 is 10101. Here, we get the resultant in binary 00010101. Now we convert it
into decimal, as (000010101)10 = 2*4 + 2*3 + 2*2 + 2*1 + 2*0 => 21.
Q.Example: Multiply the two numbers 23 and -9 by using the Booth's multiplication
algorithm.
Qn Qn + 1 M=010111 AC Q Qn + 1 SC
M' + 1 = 1 0 1 0 0 1
1 0 Subtract M 101001
101001
Perform Arithmetic right shift operation 110100 111011 1 5
0 1 Addition (A + M) 010111
010100
1 0 Subtract M 101001
110011