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 Organization

I. 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:

  1. If we multiply x by 2, we can shift x to the left by one bit.
  2. 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
Flashcards
Viva Question and Answers

Quizzes

Who invented Booth's multiplication algorithm?
  • Andrew Donald Booth
  • Alan Turing
  • John von Neumann
  • Grace Hopper