Booth Multiplication Algorithm
Booth Algorithm
•An efficient way to multiply two signed binary numbers
expressed in 2's complement notation :
•Reduces the number of operations by relying on blocks of
consecutive 1's
•Example:
•Y 0111110 = Y (25+24+23+22+21).
•Y 0111110 =Y × (01000000-00000010) = Y (26-21).
One addition and one subtraction
Search for a run of ‘1’ bits in the multiplier
E.g. ‘0110’ has a run of 2 ‘1’ bits in the middle
Multiplying by ‘0110’ (6 in decimal) is equivalent to
multiplying by 8 and subtracting two, since 6 x m = (8 –
2) x m = 8m – 2m, (2k+1-2n) where k =2 and n =1
Description and Hardware for Booth
Multiplication
QR multiplier
Qn least significant bit of QR
Qn+1 previous least significant bit of
QR
BR multiplicand
AC =0
SC number of bits in multiplier
Algorithm
Do SC times
QnQn+1 = 10
AC ← AC + BR + 1
QnQn+1 = 01
AC ← AC + BR
Arithmetic shift right AC& QR
SC ← SC – 1
For our example, and multiply (-9) x (-13)
The numerically larger operand (13) would
require 4 bits to represent in binary (1101). So we
must use AT LEAST 5 bits to represent the
operands, to allow for the sign bit.
Flowchart for Booth Multiplication
Multiply Example: -9 × -13 = 117
BR = 10111, BR + 1 = 01001
Multiplicand in BR
Multiplier in QR Comment AC QR Qn+1 SC
00000 10011 0 5
AC ← 0 Subtract BR 01001
Qn+1 ← 0
SC ← n 01001
Ashr 00100 11001 1 4
= 10 = 01 Ashr 00010 01100 1 3
QnQn+1 Add BR 10111
11001
AC ← AC + BR + 1 = 00 AC ← AC + BR
Ashr 11100 10110 0 2
= 11 Ashr 11110 01011 0 1
ashr (AC & QR)
Subtract BR 01001
SC ← SC – 1 00111
Ashr 00011 10101 1 0
≠0 =0
SC
END
Multiply 7 x 3 using above signed 2's compliment binary
multiplication.
Multiplicand =7 Binary equivalent is 0111M
Multiplier = 3 Binary equivalent is 0011Q
-7 Binary equivalent is 1001 -M
A 0000 A 1110
-M 1001 M 0111
A 1001 A 0101 =10
Step A Q Qn+1 Action Count
1 0000 0011 0 Initial 4
2 1001 0011 0 AA-M
2 1100 1001 1 Shift 3
3 1110 0100 1 Shift 2
4 0101 0100 1 AA+M
4 0010 1010 0 Shift 1
5 0001 0101 0 Shift 0
Examples
Multiply the following using Booth’s algorithm
7 x -3
-7 x 3
-7 x -3
11 x 13
-11 x 13
11 x -13
-11 x -13
-11 x 13 -11 = 10101 13 =01101
+11 =01011
OP ACQ Qn+1 SC
00000 01101 0 5
SUB 01011 01100 0 5
SHR 00101 10110 1 4
ADD 11010 10110 1 4
SHR 11101 01011 0 3
SUB 01000 01011 0 3
SHR 00100 00101 1 2
SHR 00010 00010 1 1
ADD 10111 00010 1 1
SHR 11011 10001 0 0
Reference
Morris Mano, “Computer System Architecture”, Pearson
Education, 3rd edition (Chapter 10)