Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

15-Booth Multiplication Algorithm

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 10
At a glance
Powered by AI
The key takeaways are that Booth's algorithm is an efficient way to multiply two signed binary numbers expressed in 2's complement notation by reducing the number of operations by relying on blocks of consecutive 1's in the multiplier.

Booth's algorithm is an efficient way to multiply two signed binary numbers expressed in 2's complement notation. It reduces the number of operations by relying on blocks of consecutive 1's in the multiplier. It works by searching for runs of 1 bits in the multiplier and representing the multiplication in terms of additions and subtractions.

The steps involved in performing Booth's multiplication are: 1) Search for runs of 1 bits in the multiplier 2) Multiplying by a run of 1s is equivalent to adding or subtracting the multiplicand 3) Perform additions or subtractions as indicated 4) Arithmetic right shift the result

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 0111M
Multiplier = 3  Binary equivalent is 0011Q

-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 AA-M
2 1100 1001 1 Shift 3

3 1110 0100 1 Shift 2

4 0101 0100 1 AA+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)

You might also like