Algoritmo de multiplicación en representación de magnitud con signo

La multiplicación de dos números binarios de punto fijo en representación de magnitud con signo se realiza con un proceso de cambio sucesivo y operación de suma .

En el proceso de multiplicación estamos considerando bits sucesivos del multiplicador, primero el bit menos significativo.
Si el bit multiplicador es 1, el multiplicando se copia hacia abajo, de lo contrario, los 0 se copian hacia abajo.

Los números copiados en líneas sucesivas se desplazan una posición a la izquierda del número anterior.
Finalmente se suman los números y su suma forma el producto.

El signo del producto se determina a partir del signo del multiplicando y del multiplicador. Si son iguales, el signo del producto es positivo, de lo contrario, negativo.

Implementación de hardware:
se requieren los siguientes componentes para la implementación de hardware del algoritmo de multiplicación:

  1. Registros:
    dos registros B y Q se utilizan para almacenar multiplicando y multiplicador respectivamente.
    El registro A se utiliza para almacenar productos parciales durante la multiplicación.
    El registro de contador de secuencia (SC) se utiliza para almacenar el número de bits en el multiplicador.
  2. Flip Flop:
    para almacenar el bit de signo de los registros, necesitamos tres flip flops (signo A, signo B y signo Q).
    El flip flop E se usa para almacenar el bit de acarreo generado durante la adición parcial del producto.
  3. Sumador complementario y paralelo:
    esta unidad de hardware se utiliza para calcular el producto parcial, es decir, realizar la suma requerida.

Diagrama de flujo de la multiplicación:

  1. Inicialmente, el multiplicando se almacena en el registro B y el multiplicador se almacena en el registro Q.
  2. Los signos de los registros B (Bs) y Q (Qs) se comparan usando la funcionalidad XOR (es decir, si ambos signos son iguales, la salida de la operación XOR es 0 a menos que sea 1) y la salida se almacena en As (signo del registro A).

    Nota: Inicialmente se asigna 0 al flip flop de registro A y E. El contador de secuencia se inicializa con el valor n, n es el número de bits en el multiplicador.

  3. Ahora se verifica el bit menos significativo del multiplicador. Si es 1, agregue el contenido del registro A con Multiplicando (registro B) y el resultado se asigna en el registro A con el bit de acarreo en el flip flop E. El contenido de EAQ se desplaza a la derecha una posición, es decir, el contenido de E se desplaza a El bit más significativo (MSB) de A y el bit menos significativo de A se desplazan al bit más significativo de Q.
  4. Si Qn = 0, solo se realiza de forma similar la operación de desplazamiento a la derecha sobre el contenido de EAQ.
  5. El contenido del contador de secuencia se reduce en 1.
  6. Verifique el contenido del Contador de secuencia (SC), si es 0, finalice el proceso y el producto final esté presente en el registro A y Q, de lo contrario, repita el proceso.

Ejemplo:

Multiplicand = 10111
Multiplier = 10011 

Publicación traducida automáticamente

Artículo escrito por AmanAgarwal6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *