Multiplication and Division

Multiplication and division both involve shifting together with addition or subtraction. They can be implemented with an ALU that can add or subtract and some modified shift-register circuitry.

Multiplication Terminology

The terms multiplicand, multiplier, and product are defined by their roles in the multiplication algorithm as shown below.

multiplicand
  multiplier
————————————
      ·
      ·
      ·
————————————
     product

Division Terminology

The terms divisor, dividend, quotient, and remainder are defined by their roles in the division algorithm as shown below.

         quotient
        —————————
divisor/ dividend
            ·
            ·
            ·
        —————————
        remainder

Implementation

Multiplication and division can both be done with the circuit shown above. To multiply two 32-bit numbers MD, Lo, and Hi are each 32-bit registers. Lo and Hi and the multiplexer work together as a modified 64-bit shift register. Both operations involve 32 shift steps with the ALU possible doing an add or subtract.

The control for the two operations differs in several ways:

Multiplication

When used for multiplication:

Division

When used for division: