Q21Computer Architecture and Organization
Question
Describe Booth's multiplication algorithm for signed numbers with a suitable example.
Answer
A meticulous mathematical dissection of Booth's Multiplication Algorithm. Proves how shifting over blocks of 1s aggressively reduces the number of ALU additions required to multiply massive signed 2's complement binary integers.
Standard binary multiplication is mathematically inefficient. Multiplying an -bit number requires additions and shifts, consuming massive ALU resources. Furthermore, standard multiplication catastrophically fails when handling negative numbers in 2's complement form. Booth's Algorithm is an advanced mathematical hardware algorithm that perfectly handles signed integers and aggressively reduces the number of ALU additions by identifying blocks of consecutive 1s in the multiplier.
The Mathematical Principle
Consider a multiplier 00111000. In standard multiplication, this requires three separate ALU additions. Booth's algorithm mathematically realizes that a block of 1s from position to can be represented as . Therefore, the multiplier 00111000 can be processed with exactly one subtraction and one addition, drastically speeding up the hardware execution.
The hardware tracks a Multiplicand register (), a Multiplier register (), an Accumulator (, initialized to 0), and a special single-bit register (, initialized to 0). The algorithm executes a strict -step loop by aggressively inspecting the two least significant bits: and .
- If : The hardware mathematically calculates . (Entering a block of 1s).
- If : The hardware mathematically calculates . (Exiting a block of 1s).
- If or : The ALU does absolutely nothing. (Inside a block of 0s or 1s).
- Final Step: The hardware executes an Arithmetic Right Shift (ASR) on the combined register sequence . The sign bit of is strictly preserved.
Let (Multiplicand). Let (Multiplier in 2's complement). Let . , . Count .
Cycle 1: - Check . No ALU operation. - ASR Shift: .
Cycle 2: - Check . No ALU operation. - ASR Shift: .
Cycle 3: - Check . Execute . - Status: . - ASR Shift: . (Note: ASR duplicated the 1 in MSB of A).
Cycle 4: - Check . No ALU operation. - ASR Shift: .
Result Verification
The strict loop is complete. The final 8-bit mathematical answer resides in the concatenated registers. Result: . Converting this 2's complement binary back to decimal yields exactly . The hardware algorithm performed flawlessly.