- Asked 8/22
- 2078 Kartik · 4 marks
- 2076 Chaitra · 5 marks
- 2075 Asoj · 10 marks
- 2072 Chaitra · 5 marks
- 2072 Kartik · 4 marks
- 2071 Chaitra · 4 marks
- 2071 Shrawan · 5 marks
- 2067 Asar (old course) · 4 marks
Booth multiplication algorithm and hardware
Short answer
Booth’s algorithm scans multiplier bits Q0 and Q-1: 10 subtracts M, 01 adds M, others do nothing; then arithmetic shift right A,Q,Q-1. For 7 (0111) × -3 (1101), n=4, final A:Q = 1110 1011 = -21. Product has 2n bits.
Explain Booth's multiplication algorithm for signed 2's complement numbers in detail, with hardware diagram and a suitable example.
Booth's algorithm multiplies two signed numbers in 2's complement form. It treats a run of 1s in the multiplier as (2^(j+1) - 2^i), so a run of 1s needs only one subtraction at the beginning and one addition at the end. This makes the multiplication of negative and positive numbers uniform, and it is faster when the multiplier has long runs of 1s.
Hardware
+-----------------+
| M (multiplicand)|
+--------+--------+
v
+-------[ n-bit Adder / Subtractor ]
| |
v v
+---------+ +---------+ +----+
| A (acc)|----->| Q |----| Q-1|
+---------+ ASR +---------+ +----+
<-- Shift right (A, Q, Q-1) together -->
Control logic looks at Q0 and Q-1, with a counter n
- M: multiplicand register. Q: multiplier register (Q0 is the least significant bit).
- A: accumulator, initially 0; A and Q together hold the 2n-bit product at the end.
- Q-1: one extra flip-flop to the right of Q0, initially 0.
- Counter: set to n, the number of bits.
Algorithm
- Initialise A = 0, Q-1 = 0, M = multiplicand, Q = multiplier, count = n.
- Look at the pair (Q0, Q-1):
- 00 or 11: no arithmetic.
- 10: A = A - M (start of a run of 1s).
- 01: A = A + M (end of a run of 1s).
- Arithmetic shift right the combined A, Q, Q-1 (the sign bit of A is kept).
- Decrement the count. If the count is not 0, go to step 2; else stop. The product is in A:Q.
Example: 7 × (-3), n = 4 bits
M = 7 = 0111, -M = 1001, Q = -3 = 1101 (2's complement of 0011).
| Step | A | Q | Q-1 | Q0 Q-1 | Operation |
|---|---|---|---|---|---|
| init | 0000 | 1101 | 0 | A = 0, M = 0111 | |
| 1 | 1100 | 1110 | 1 | 10 | A = A - M = 1001, then ASR |
| 2 | 0001 | 1111 | 0 | 01 | A = A + M = 0011, then ASR |
| 3 | 1101 | 0111 | 1 | 10 | A = A - M = 1010, then ASR |
| 4 | 1110 | 1011 | 1 | 11 | ASR only |
Product (A:Q) = 1110 1011 = -21 (in 8-bit 2's complement). Check: 7 × (-3) = -21.
ASR = arithmetic shift right of A, Q and Q-1 together.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Booth multiplication with hardware · Computer Organization and Architecture, chapter 5
- Booth multiplication of 9 × -3 · Computer Organization and Architecture, chapter 5
- Booth multiplication of -5 × -9 · Computer Organization and Architecture, chapter 5 · asked 5×
- Booth multiplication of 5 × -6 · Computer Organization and Architecture, chapter 5 · asked 5×
- Booth multiplication of -7 × -10 · Computer Organization and Architecture, chapter 5 · asked 5×
- Booth multiplication of 10 × (-5) · Computer Organization and Architecture, chapter 5 · asked 5×
- Signed 1's complement addition of (-65)+(+15) · Digital Logic, chapter 5
- Algorithm for numbers divisible by 9 not 6 · Computer Programming, chapter 2
All Computer Organization and Architecture chapter 5 questions →