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:
- 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. - 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. - 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:
- Inicialmente, el multiplicando se almacena en el registro B y el multiplicador se almacena en el registro Q.
- 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.
- 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.
- Si Qn = 0, solo se realiza de forma similar la operación de desplazamiento a la derecha sobre el contenido de EAQ.
- El contenido del contador de secuencia se reduce en 1.
- 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