0% found this document useful (0 votes)
14 views

Booths_Multiplication Algorithm (1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Booths_Multiplication Algorithm (1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

BOOTHS MULTIPLICATION

ALGORITHM
Multiplication of Unsigned Numbers

Product of 2 n-bit numbers is at most a 2n-bit number.


Unsigned multiplication can be viewed as addition of shifted versions of the
multiplicand.
Multiplication Hardware for Signed-Magnitude Data

• Q: Stores the multiplier


• Qs: Stores the sign of multiplier
• B: Stores the multiplicand
• Bs: Stores the sign of multiplicand
• SC (sequence counter): Stores number of bits in the
multiplier. It is decremented by 1. The process
continues until SC is non zero.
• Sum of A and B forms a partial product which is
transferred to EA register. Initially EA stores zero. • Qn: the rightmost flip-flop in
• Both partial product and multiplier are shifted to the register Q, hold the bit of the
right. 0 is shifted into E. multiplier which will be
inspected next.
Booth Algorithm
• Booth algorithm gives a procedure for multiplying binary integers in signed 2’s
complement representation in efficient way, i.e., less number of
additions/subtractions required.

• It reduces the number It operates on the fact that strings of 0’s in the multiplier
require no addition but just shifting and a string of 1’s in the multiplier from bit
weight 2^k to weight 2^m can be treated as 2^(k+1 ) to 2^m.

• As in all multiplication schemes, booth algorithm requires examination of the


multiplier bits and shifting of the partial product.
Booth Algorithm(Contd..)
• Prior to the shifting, the multiplicand may be added to the partial product,
subtracted from the partial product, or left unchanged according to following rules:

1.The multiplicand is subtracted from the partial product upon encountering the first
least significant 1 in a string of 1’s in the multiplier
2.The multiplicand is added to the partial product upon encountering the first 0
(provided that there was a previous ‘1’) in a string of 0’s in the multiplier.
3.The partial product does not change when the multiplier bit is identical to the
previous multiplier bit.
Hardware Implementation of Booth Algorithm

• The multiplicand is stored in


BR and multiplier in QR.
• An extra flip-flop Qn+1 is
appended to QR which is
cleared to 0.
• The sequence counter SC is
initialized to the number of
bits in the multiplier.
Flow Chart for Booth
Algorithm
Example- 1
• Multiplication of -5 x 4 B = -5(1011) Q= 4(0100)
2’s complement of B = 0101

Steps A Q Q-1 Operation QQ-1


0000 0100 0 Initial 00
1 0000 001 0 0 Right shift 00
2 0000 0001 0
3 0101 0001 0 A=A-B 10
0010 1000 1 Right shift
4 1101 1000 1 A=A+B 01

1110 1100 0 Right shift

-5 x 4 = -20 = 1110 1100

Verify: take 2’s complement of 1110 1100


= 00010100 =20
EXAMPLE-2

• Find − 9 X − 13 , using 5 bits register ?

Solution-
First represent − 9 and − 13 in 2’s complement form.

Initially
Multiplicand ,M = − 9 (10111)
Multiplier ,Q = −13 (10011)
A = 00000
SC = 5 (no of bits in multiplier Q)
The product should be (− 9) X (− 13) = +117
+117= 000 1110101
Multiplicand, M = − 9 (10111)
Multiplier, Q = −13 (10011)
Steps M=10111 A Q Qn+1 SC
+1=01000+1=01001

Initial 00000 10011 0 5


Subtraction (A  A−M) 01001 10011 0

1st 4
A.R.S (arithmetic right shift) 00100 11001 1

2nd A.R.S 00010 01100 1 3


3rd Addition (A  A+M) 11001 01100 1
2
A.R.S 11100 10110 0
4th A.R.S 11110 01011 0 1

5th Subtraction (A  A−M) 00111 01011 0

0
A.R.S 00011 10101 1
EXAMPLE-3
• Find +7 X − 3 by Booth multiplication algorithm, using 4 bits register ?
Solution-
First represent +7 and − 3 in 2’s complement form.

Initially
Multiplicand ,M = +7 (0111)
Multiplier ,Q = −3 (1101)
A = 0000
SC = 4 (no of bits in multiplier Q)
The product should be (+7) X (− 3) = − 21
− 21= 1110 1011

You might also like