Documente Academic
Documente Profesional
Documente Cultură
La multiplicacin es una operacin cara (en trminos de recursos) y lenta Este hecho ha motivado la integracin de unidades completas de multiplicacin en los DSPs y Ps Los multiplicadores son en la prctica matrices complejas de sumadores
DCSE 2010-11
1/34
i =0
X i 2i
Y=
M + N 1 k =0
N 1 j =0
Yj 2 j
X i , Y j {0,1}
Z k 2k =
N 1
M 1 N 1 i j Xi 2 Yj 2 = i =0 j =0
DCSE 2010-11
M 1 i+ j X iY j 2 j =0 i =0
2/34
Y=
i =0 N 1
j =0
Y 2
j
Z = XY =
XY 2
j =0
i =0
La multiplicacin requiere M ciclos utilizando un sumador de N bits. Se realiza la suma de N productos parciales, que se generan multiplicando un bit del multiplicador por el valor del multiplicando (operacin AND) y desplazando el resultado segn la posicin del bit del multiplicador.
DCSE 2010-11
3/34
DCSE 2010-11
4/34
Multiplicador matricial
1 0 1 0 1 0
1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0
1 0 1 0 1 0 1 1 1 0 0 1 1 1 0
En hardware, la estructura del multiplicador matricial combina las funciones: generacin de productos parciales, acumulacin de productos parciales y suma final
DCSE 2010-11
5/34
Yj
PP7
PP6
PP5
PP4
PP3
PP2
PP1
PP0
Los productos parciales (PP) resultan de aplicar la operacin lgica AND al multiplicando X y a un bit del multiplicador Yj Cada fila de la matriz de PP es una copia del multiplicando o una fila de ceros Optimizar la generacin de los PP para reducir los retardos y el rea ocupada en hardware (recodificacin Booth)
DCSE 2010-11
6/34
Algoritmo de Booth
Ejemplo: Un multiplicador de 8 bits: 01111110 produce 6 filas de productos parciales distintos de cero Este nmero se puede re-codificar para poder reducir (sustancialmente) el nmero de filas distintas de cero: El nmero 10000010 representa el mismo nmero, si 1 es una anotacin abreviada para designar el valor -1
DCSE 2010-11
7/34
Algoritmo de Booth
Ejemplo (cont.): Utilizando esta representacin ( 10000010), basta con sumar dos productos parciales, aunque el sumador tiene que ser capaz de realizar restas. Reducir el nmero de productos parciales es equivalente a reducir el nmero de sumas, lo que permite acelerar la operacin y reducir el rea ocupada.
DCSE 2010-11
8/34
9/34
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
DCSE 2010-11
1 1 1 0 1
0 1 0 1
1 1 1
5 7 15 25 45 05
0 0
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 0 1 0 1 0 0
ic dif co reB in ac th oo
0 0 1 1 1 1
+
0
0 1 0 0 0 1 1 35 02 -01
DCSE 2010-11
11/34
1 2 0
0 1 0 -1 1 1
5 7= 222 + (-1)20
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 1 0 1 1 1 0
0 1 1
ic dif co re-
-15 2225
+
0
B in ac th oo
35
02 -01
12/34
Multiplicador matricial
Topolgicamente muy similar al procedimiento manual de multiplicacin
X3 FA X3 FA Z7 Z6 X2 FA Z5 X3 X3 HA X2 FA X1 FA Z4 X2 FA X1 FA X0 HA Z3 Y3 X2 X1 FA X0 HA Z2 Y2 X1 X0 HA Z1 X0 Y1 Z0 Y0
13/34
Multiplicador matricial
La generacin de N PPs requiere NM puertas AND de 2 bits La mayor parte del rea del multiplicador est dedicada a la suma de los N PPs, que requiere N-1 sumadores de M bits Desplazamiento: conectar apropiadamente las pistas de interconexin, sin necesidad de lgica especial Estructura compacta! Se puede implementar de forma rectangular (opt. layout)
DCSE 2010-11
14/34
Multiplicador matricial
Cmo calcular el retardo de propagacin de este circuito?
Identificar camino crtico de temporizacin (no trivial)! Se pueden identificar varios caminos con una longitud prcticamente idntica
DCSE 2010-11
15/34
Multiplicador matricial
16/34
Multiplicador matricial
Hay dependencias verticales y horizontales en todos los niveles
Todos los caminos crticos se tienen que acelerar al mismo tiempo (acelerar solo uno de ellos sustituyendo un sumador por otro ms rpido, como por ejemplo un sumador CarrySelect, no tiene mucho sentido)
tmult tAND + (N-1)tsum + [(M-1) + (N-2)]tcarry De la ecuacin anterior, se observa que la minimizacin de tmult requiere la minimizacin tanto de tcarry como de tsum Se puede utilizar un sumador Carry-Save
DCSE 2010-11
17/34
Multiplicador Carry-Save
Observamos que el resultado de la multiplicacin no vara cuando los bits de salida del acarreo se transmiten diagonalmente hacia abajo en lugar de solo hacia la derecha Este es el principio del CSA que hemos visto en la clase anterior! Para generar el resultado final se incluye en el diseo un sumador adicional, denominado sumador de combinacin de vectores
DCSE 2010-11
18/34
Multiplicador Carry-Save
La propagacin de seales se realiza hacia la siguiente etapa y no entre elementos de una misma etapa
DCSE 2010-11
19/34
compresor 3-2
DCSE 2010-11
20/34
Multiplicador Carry-Save
La propagacin de seales se realiza hacia la siguiente etapa y no entre elementos de una misma etapa
21/34
y se combinan mediante Se utilizan 6 sumadores operaciones AND antes de completos las sumas
FA y 6 semi-sumadores HA
DCSE 2010-11
22/34
DCSE 2010-11
23/34
Multiplicador en rbol
Empleando sumadores para las sumas parciales en estructura de rbol, se pueden reducir tanto el camino crtico (retardo) como el nm. de celdas sumadoras necesarias (rea)
Para un multiplicador de 44 bits, se puede observar que solo la columna 3 de la matriz de sumadores tiene que sumar 4 bits. Todas las dems columnas son algo menos complejas.
DCSE 2010-11
24/34
Para conseguir una implementacin mnima, recubrimos de manera iterativa el rbol con FA y HA comenzando por la parte ms densa. En un primer paso introducimos HA en las columnas 4 y 3
DCSE 2010-11
25/34
Este es el rbol reducido, y en esta estructura introducimos en una segunda iteracin 3 FA y un HA.
DCSE 2010-11
26/34
Despus de esta segunda iteracin de reducciones hemos creado un rbol de profundidad 2, para alimentar el sumador final de dos entradas, para el cual se puede utilizar cualquier tipo de sumador
DCSE 2010-11
27/34
28/34
El multiplicador el rbol permite conseguir un ahorro sustancial de hardware para multiplicadores de gran tamao. Tambin se reduce el retardo de propagacin, que es: O(log3/2(N)). Desventaja: el multiplicador Wallace es muy irregular, lo que complica la tarea de obtener un layout eficiente. HA
DCSE 2010-11
29/34
Suma final
La velocidad del sumador final tiene gran importancia La eleccin del estilo de sumador depender de la estructura de la matriz de acumulacin. Se puede preferir un CLA si todos los bits de entrada al sumador llegan al mismo tiempo (es el sumador con el ms pequeo retardo posible) Este es el caso, por ejemplo, si se utiliza una etapa de registro justo antes de la suma final. El procesamiento en cadena mediante la inclusin de registros es una tcnica frecuentemente utilizada en los multiplicadores de altas prestaciones
DCSE 2010-11
30/34
Suma final
En los multiplicadores que no estn basados en una estructura de procesamiento en cadena, el perfil de instantes de llegada de las entradas al sumador final es bastante poco equilibrado, debido a las profundidades lgicas variables del rbol del multiplicador En estas circunstancias, otras topologas de sumador, como las de carry-select, suelen proporcionar prestaciones similares a las del CLA, pero con un coste en trminos de hardware sustancialmente menor
DCSE 2010-11
31/34
Problemas
DCSE 2010-11
32/34
33/34
34/34