Unidad de MAC paralela basada en un algoritmo de cabina modificado

-1

El siguiente diagrama es la estructura de MAC paralela. En el MAC paralelo, tanto la adición parcial como la acumulación de productos tienen lugar al mismo tiempo.

Lasumaparcialdeproducto+unidaddeacumulacióndelmacparaleloanteriorsemuestraacontinuación. enlace (enlace a la imagen).

Miproblema:cuandodoyentradaalmultiplicadorcomo00000101(5)y00001000(8),cuálesseránlosvaloresproducidos(P0[7:0],P1[7:0],P2[7:0],P3[7:0]yS0,S1,S2,S3yN0,N1,N2,N3)quepuedenusarsecomoentradadelageneraciónparcialdelproducto+etapadeacumulación.

Normalmente,losproductosparcialesdealgoritmomodificadodecabinaserándeunalongitudde16bitsparalaoperacióndemultiplicaciónde8bits.Aquílosproductosparcialessonde10bits.¿Cómosedarálarespuestacorrectafinal?

Eldocumentocompletosecomparteacontinuación.
enlace

Por favor, comparte tus ideas. Necesito continuar mi proyecto en base a tus respuestas.
Gracias.

    
pregunta Jithin

1 respuesta

0

Si multiplica dos números de ocho bits, los productos parciales en general serán bits únicos. Sin embargo, suponiendo una estructura basada en filas, habrá ocho filas de ocho bits cada una, donde cada fila es 00000000 o la otra entrada.

Con la codificación Booth modificada habrá cuatro filas. Sin embargo, como cada fila ahora será -2, -1, 0, 1 o 2 veces la otra entrada, se necesita al menos un bit más (no es obvio si se espera que su multiplicador maneje entradas firmadas y dependiendo de cómo maneja los signos que puede tener que agregar otro bit).

Ahora, verifique una tabla para la codificación Booth modificada y codifique una de sus entradas, digamos 00000101 (5). Como esto es bastante simple, el valor codificado correspondiente será el mismo, pero radix-4, entonces 0 0 1 1, entonces las dos filas menos significativas serán 00001000 y las otras dos serán 00000000.

Las cosas S y N no son obvias de un vistazo rápido (ya que no tengo tiempo para revisar el diagrama en detalle). Sin embargo, es más probable que se use N si debe multiplicarse con un producto parcial negativo. En lugar de calcular el número negativo "correcto" invirtiendo y agregando un uno a la posición LSB, simplemente invierte y agrega el uno como N, por lo que si el dígito menos significativo fuera Booth codificado a -1, obtendrías un producto parcial la fila como 11110111 (-9) y la N correspondiente es 1, en lugar de computar primero 11111000 (-8) que requiere un sumador. Para S, es probablemente el vector de compensación. Para sumar los números de complemento de dos, que serán las filas de productos parciales, ya que pueden ser negativas, en general tendrían que tener la misma longitud. Sin embargo, al usar algunos trucos inteligentes (principalmente al observar que el bit de signo tiene un peso negativo, al usar \ $ - b = \ bar {b} -1 \ $, y al fusionar las partes -1), es posible evitar el signo explícito -extensión.

    
respondido por el Oscar

Lea otras preguntas en las etiquetas