Booth's Multiplication Algorithm & Multiplier, including Booth's Recoding and Bit-Pair Recoding Method (aka Modified Booth Algorithm), Step by Step Calculator
Booth's Multiplication Algorithm is a multiplication algorithm that multiplies two signed binary numbers in two's complement notation.
Multiply (9) and (-7) using Booths Algorithm. Written 3.4 years ago by manasahegde234 ♦ 510: Subject: Computer Organization & Architecture. Topic: Module 4. Sequential, Booth's Algorithm, Modified Booth's Algorithm, Two's Complement Array Multiplier, Fused Multiplier-Adder, Multiplication by a Constant Division Restoring, Non-Restoring, SRT Radix-2, SRT Radix-4, SRT Radix-8, SRT with overalpping stages, By Convergence, By Convergence With Table Lookup, By Reciprocation. Booth’s algorithm is a multiplication algorithm that multiplies two signed binary numbers in 2’s compliment notation. Booth used desk calculators that were faster at shifting than adding and created the algorithm to increase their speed. Booth’s algorithm is of interest in the study of computer architecture.
Question Examples:
Question 1: Multiply 3 times -25 using 6-bit numbers
Answer:
310 = 00 00112
-2510 = 10 01112
Multiplier | Booth Multiplier | |
Bit[i] | Bit[i-1] | |
0 | 0 | 0 |
0 | 1 | +1 |
1 | 0 | -1 |
1 | 1 | 0 |
Multiplier: | 1 | 0 | 0 | 1 | 1 | 1 | 0 |
Booth Recoding: | -1 | 0 | +1 | 0 | 0 | -1 |
Click on the zeros in 'Booth Recoding' above to view the pair of bit of each conversion!
0 | 0 | 0 | 0 | 1 | 1 | ||||||
× | -1 | 0 | +1 | 0 | 0 | -1 | |||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 1 | |||||
1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Booth Multiplier | Bit-Pair Recoding Multiplier | ||
Bit[i] | Bit[i-1] | Bit[i] | Bit[i-1] |
1 | -1 | 0 | 1 |
-1 | 1 | 0 | -1 |
1 | 0 | 0 | 2 |
-1 | 0 | 0 | -2 |
Multiplier: | 1 | 0 | 0 | 1 | 1 | 1 | 0 |
Booth Recoding: | -1 | 0 | +1 | 0 | 0 | -1 | |
Bit-Pair Recoding: | -2 | +2 | -1 |
Same as the Booth Recoding above, a red zero is added after the least significant bit (LSB) for the Booth Recoding conversion
0 | 0 | 0 | 0 | 1 | 1 | |||||||
× | 0 | -2 | 0 | +2 | 0 | -1 | ||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | ||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | ||||
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Question 2: Compute C = A × B using the Booth algorithm to multiply the two significands. (Both numbers have to be in 2’s complement form.)
Sa = 01.1000001 (including a sign bit)
Sb = 01.1111011 (including a sign bit)
Answer:
Word Length = 9