Implementación de la Multiplicación en Punto Flotante y Complemento a Dos

Clasificado en Matemáticas

Escrito el en español con un tamaño de 3,59 KB

Multiplicación en Punto Flotante

La multiplicación de números en punto flotante involucra el manejo separado de las mantisas y los exponentes.

Registros Operacionales

  • BR (Base Register): Multiplicando.
  • QR (Quotient Register): Multiplicador.
  • q: Exponente del multiplicador.
  • a y b: Exponentes a sumar.

Fase 1: Verificación de Ceros

Si algún operando es igual a 0, el producto parcial (AC) es colocado en 0 y la operación se termina (END). Si ninguno de los operandos es 0, el proceso continúa con la suma de exponentes.

Fase 2: Suma de Exponentes Sesgados

Se transfieren los exponentes 'q' a 'a', se suman los dos exponentes y se transfiere la suma a 'a'.

Puesto que ambos exponentes están sesgados por la suma de una constante, el exponente suma tendrá este sesgo duplicado. Por ello, se resta el número de sesgo de la suma, obteniendo el exponente correctamente sesgado para el producto.

Fase 3: Multiplicación de Mantisas

La multiplicación se realiza con el producto residiendo en los registros A y Q. No puede ocurrir sobreflujo durante la multiplicación, por lo que no es necesario verificarlo.

Fase 4: Normalización y Subflujo

El producto debe ser verificado para detectar un posible subflujo, de tal manera que el bit más significativo en A es verificado:

  • Si es 1, el producto ya está normalizado.
  • Si es 0, la mantisa AQ es desplazada a la izquierda y el exponente se decrementa.

Aunque la mitad de la mantisa de orden inferior está en Q, no la utilizamos para el producto de punto flotante. Solo el valor en el AC se toma como producto.

Multiplicación en Complemento a Dos (C2)

Configuración de Registros

  • QR: Multiplicador (parte inferior).
  • BR: Multiplicando (parte superior).
  • Estructura de QR: Bits de signo $Q_s$, bits de magnitud $Q$, bit menos significativo $Q_n$.

Los productos parciales son formados en AC (si son negativos, están en la representación del C2).

Inicialización de la Operación

  • El registro AC es puesto a cero para retener un producto parcial 0.
  • El contador de secuencia (SC) es colocado en un número igual al número de bits en la parte de magnitud del multiplicador.
  • El bit de sobreflujo (V) es puesto a cero.

Ajuste Inicial del Multiplicador

Si el signo del multiplicador es negativo (1), tanto QR como BR son complementados. Así se asegura de que el multiplicador sea siempre positivo al comienzo de la operación.

Proceso Iterativo

Si el bit menos significativo $Q_n$ del multiplicador es 1, el multiplicando en BR se suma al producto parcial presente en el AC.

  • El bit de sobreflujo $V$ es activado si hay un sobreflujo y puesto a cero de otra manera.
  • Si $Q_n=0$, no se realiza suma y el bit de sobreflujo $V$ permanece en 0.

Desplazamiento y Ajuste de Signo

El producto parcial en AC y Q es desplazado una vez a la derecha.

  • El bit menos significativo de AC es desplazado a Q, saltándose el bit de signo $Q_s$.
  • El bit de signo en el AC permanece inmodificado si $V=0$, pero es complementado si $V=1$.

Resultado Final

El producto final se forma en los registros AC y Q.

El signo del producto está disponible en el primer bit de AC. El signo de QR debe tener el mismo que el del producto.

Se transfiere el bit de signo de AC a QR.

Entradas relacionadas: