Describe in detail Booth’s multiplication algorithm and its hardware implementation
Q.) Describe in detail Booth’s multiplication algorithm and its hardware implementation
Subject: Computer System OrganizationI. Introduction to Booth’s Multiplication Algorithm
Booth's multiplication algorithm is a multiplication algorithm that multiplies two signed binary numbers in two's complement notation. The algorithm was invented by Andrew Donald Booth in 1950 while doing research on crystallography at Birkbeck College in Bloomsbury, London. 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.
II. Detailed Explanation of Booth’s Multiplication Algorithm
Booth’s Algorithm for multiplication is based on the following observations:
- If we multiply x by 2, we can shift x to the left by one bit.
- If we divide x by 2, we can shift x to the right by one bit.
The algorithm uses the fact that the multiplication of a binary number by 2^n (where n is an integer) can be implemented as a left shift of n places, and division by 2^n as a right shift of n places.
Here is a step-by-step explanation of the algorithm:
Step 1: Initialize the Multiplicand (M), Multiplier (Q), Accumulator (A), and a register Q(-1) (initially set to 0). The number of iterations is equal to the number of bits in Q.
Step 2: Check the least significant bits of Q and Q(-1) for the following conditions:
- If Q0Q(-1) = 00 or 11, perform an arithmetic right shift (ARS) on AQ.
- If Q0Q(-1) = 01, perform A = A - M, followed by an ARS on AQ.
- If Q0Q(-1) = 10, perform A = A + M, followed by an ARS on AQ.
Step 3: Repeat step 2 until no more shifts can be made.
Step 4: The product of M and Q is stored in AQ.
Example: Let's multiply 3 (0011) and 2 (0010) using Booth's Algorithm.
Step | A | Q | Q(-1) | Operation |
---|---|---|---|---|
1 | 00 | 10 | 0 | Initialize |
2 | 00 | 01 | 0 | ARS |
3 | 00 | 10 | 1 | A = A + M, ARS |
4 | 01 | 01 | 0 | ARS |
5 | 00 | 11 | 0 | ARS |
The result is AQ = 0011 0110, which is 6 in decimal, the correct product of 3 and 2.
III. Hardware Implementation of Booth’s Algorithm
The hardware implementation of Booth's Algorithm requires a shift register for the Multiplier Q, an accumulator for A, a register for the Multiplicand M, and a single bit register Q(-1). The control logic of the hardware will be designed based on the Booth's Algorithm rules.
A block diagram of the hardware implementation would include the following components: Multiplier Register (Q), Accumulator (A), Multiplicand Register (M), Q(-1), Arithmetic Logic Unit (ALU), and Control Unit.
The Control Unit controls the operations of the ALU based on the values of Q and Q(-1). The ALU performs the arithmetic operations (A = A + M or A = A - M) and the right shift operation. The results are stored in the Accumulator and the Multiplier Register.
IV. Comparison of Booth’s Algorithm with other multiplication algorithms
Booth's Algorithm reduces the number of additions/subtractions required for multiplication, making it faster than conventional multiplication algorithms for certain types of operands. However, it requires more complex hardware and control logic.
Algorithm | Number of Operations | Hardware Complexity |
---|---|---|
Conventional | Proportional to the number of bits in the multiplier | Low |
Booth's | Less than or equal to the number of bits in the multiplier | High |
V. Practical Applications of Booth’s Algorithm
Booth's Algorithm is used in digital signal processing and in the multiplication units of microprocessors. It is particularly useful when multiplying numbers where the multiplier has a few large blocks of 1's with 0's in between.
VI. Conclusion
Booth's Multiplication Algorithm is an efficient algorithm for multiplying binary numbers. It reduces the number of arithmetic operations and hence increases the speed of multiplication. However, it requires a more complex hardware implementation. Despite this, it is widely used in computer systems due to its efficiency.
Diagram: Yes, a block diagram of the hardware implementation of Booth's Algorithm is necessary to visually represent the components involved and their interactions.
Summary
Booth's multiplication algorithm is a multiplication algorithm that multiplies two signed binary numbers in two's complement notation. It reduces the number of additions/subtractions required for multiplication, making it faster than conventional multiplication algorithms for certain types of operands. The hardware implementation of Booth's Algorithm requires a shift register for the Multiplier Q, an accumulator for A, a register for the Multiplicand M, and a single bit register Q(-1). Booth's Algorithm is used in digital signal processing and in the multiplication units of microprocessors.
Analogy
Booth's multiplication algorithm is like a faster way of multiplying binary numbers. It's like using a shortcut to get the answer without having to do all the steps of conventional multiplication.
Quizzes
- Andrew Donald Booth
- Alan Turing
- John von Neumann
- Grace Hopper