You are on page 1of 0

1

Profesor Leopoldo Silva Bijit 18-07-2007


Captulo 10.
Unidad Aritmtica.
10.1. Determinacin de ecuaciones lgicas para las condiciones o flags.
Se pueden obtener las ecuaciones de un sumador de ancho n, mediante induccin matemtica.
Analizaremos un sumador binario de tres bits.
10.1.1. Sumador sin signo.
Se ingresan al sumador binario dos nmeros sin signo, con ancho tres. Con A0 y B0 los bits
menos significativos. La suma se realiza fijando Carry-in, que es una entrada del sumador,
igual a cero.

A2 A1 A0
+ B2 B1 B0
Co S2 S1 S0

Se realizan las sumas binarias, para cada par de valores posibles para las entradas. Se forma una
tabla, en la que se han indicado los valores de los operandos de entrada en decimal y binario. La
tabla es un mapa de Karnaugh para las variables de salida: C0, S2, S1 y S0.

Observando la tabla, se advierte una zona triangular en la cual la reserva de salida es uno. Son
todos los nmeros que sumados dan ocho o mayor. La seal Carry-out, que es una salida del
sumador nos permite detectar el resultado incorrecto.

La reserva de salida del sumador indica resultado incorrecto, con largo de registro igual a tres.
(Co: Carry out)

En caso de un sumador de largo n, la condicin de resultado incorrecto para la suma de enteros
sin signo es simplemente la seal de Carry-out.

Los diferentes casos que se producen considerando nmeros unsigned, se muestran en la
siguiente tabla:
2 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007

0 1 2 3 4 5 6 7 A+B
000 001 010 011 100 101 110 111
0 000 0000 0001 0010 0011 0100 0101 0110 0111
1 001 0001 0010 0011 0100 0101 0110 0111 1000
2 010 0010 0011 0100 0101 0110 0111 1000 1001
3 011 0011 0100 0101 0110 0111 1000 1001 1010
4 100 0100 0101 0110 0111 1000 1001 1010 1011
5 101 0101 0110 0111 1000 1001 1010 1011 1100
6 110 0110 0111 1000 1001 1010 1011 1100 1101
7 111 0111 1000 1001 1010 1011 1100 1101 1110
Figura 10.1 Sumas de nmeros sin signo. Largo 3.
10.1.2. Sumas y Restas con signo.
A continuacin estudiaremos las operaciones de nmeros con signo.

Se ingresan al sumador binario dos nmeros con signo, en complemento a dos, de ancho tres.
Ntese que en la siguiente tabla las entradas se han reordenado interpretndolas como nmeros
con signo. (Es la misma tabla anterior, esto es as ya que el sumador binario es el mismo).
Con operandos de largo 3, no pueden representarse los menores que -4 y los mayores que +3.

Se produce resultado incorrecto (overflow), cuando el signo de ambos operandos es diferente
del signo del resultado.

Ntese que el Carry-out, no determina esta condicin, ya que existen resultados correctos que
tienen Carry-out igual a uno. Esto se debe a que, al sumar dos nmeros de diferente signo, la
magnitud del resultado es siempre menor o igual que la del mayor operando (en magnitud). Por
lo tanto el resultado, en este caso, es siempre representable.

La ecuacin lgica para el overflow, puede obtenerse en la ltima etapa del sumador, con los
bits de signo de los operandos (A
2
, B
2
) y el bit de signo del resultado (S
2
). De la cual puede
inducirse una ecuacin para un sumador de largo n.

ov = overflow = A
2
B
2
S
2
' + A
2
' B
2
' S
2


Para un sumador de 32 bits: ov = overflow = A
31
B
31
S
31
' + A
31
' B
31
' S
31

Unidad Aritmtica 3
Profesor Leopoldo Silva Bijit 18-07-2007

-4 -3 -2 -1 +0 +1 +2 +3 A+B

100 101 110 111 000 001 010 011
-4 100 1000 1001 1010 1011 0100 0101 0110 0111
-3 101 1001 1010 1011 1100 0101 0110 0111 1000
-2 110 1010 1011 1100 1101 0110 0111 1000 1001
-1 111 1011 1100 1101 1110 0111 1000 1001 1010
+0 000 0100 0101 0110 0111 0000 0001 0010 0011
+1 001 0101 0110 0111 1000 0001 0010 0011 0100
+2 010 0110 0111 1000 1001 0010 0011 0100 0101
+3 011 0111 1000 1001 1010 0011 0100 0101 0110
Figura 10.2 Sumas de nmeros con signo. Largo 3.
10.1.3. Comparaciones.
Se desea poder comparar dos nmeros con signo, para hacerlo se efectuar la resta entre ellos.
Las entradas de la tabla (y al sumador binario) se ordenan en forma descendente. La condicin
se denomina LT (less than).
Se ingresan al sumador un nmero (A), y el complemento uno del otro(B). Se fija Carry-in en
uno. Se escribe, en cada casilla de la tabla, el Carry-out y los tres bits de la suma.

De este modo se realiza la resta de A menos B, empleando un sumador binario, y asumiendo
representacin complemento dos para los operandos.

La zona A < B, se encuentra sobre la diagonal principal de la matriz. La condicin A = B, es la
diagonal principal, en la cual todos los bits del resultado son ceros, y uno la reserva de salida.

Existen dos zonas triangulares en las que se produce overflow, una en que los signos de las
entradas al sumador (no los operandos) son ambos negativos, y el resultado es positivo; la otra
zona triangular caracteriza operandos de entrada al sumador positivos y signo del resultado
negativo.

A es menor que B, si el signo del resultado es menos y no hay overflow o si el signo del
resultado es positivo y se produce overflow. Entonces la ecuacin lgica puede escribirse:

LT = (A < B) = S
2
ov' + S
2
' ov
4 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007

(-4) (-3) (-2) (-1) (+0) (+1) (+2) (+3) A+(B)+1
011 010 001 000 111 110 101 100
-4 100 1000 0111 0110 0101 1100 1011 1010 1001
-3 101 1001 1000 0111 0110 1101 1100 1011 1010
-2 110 1010 1001 1000 0111 1110 1101 1100 1011
-1 111 1011 1010 1001 1000 1111 1110 1101 1100
+0 000 0100 0011 0010 0001 1000 0111 0110 0101
+1 001 0101 0100 0011 0010 1001 1000 0111 0110
+2 010 0110 0101 0100 0011 1010 1001 1000 0111
+3 011 0111 0110 0101 0100 1011 1010 1001 1000
Figura 10.3 Comparaciones de nmeros con signo. Largo 3.
En la zona: A<0, B<0 y S2 el signo del resultado negativo, existe overflow, y la operacin resta
da resultado incorrecto.
10.1.4. Comparaciones de nmeros sin signo.
Condicin less than unsigned (LTU).
Para operandos de largo dos, desarrollando la resta A - B, en el sumador binario, se obtiene la
siguiente tabla, en la cual se han destacado las instancias en que se cumple que A<B. Dentro
de la cada casilla de la tabla, figuran tres dgitos; el ms significativo es la reserva de salida, los
dos siguientes corresponden a la suma.

(+0) (+1) (+2) (+3) A+(B)+1
11 10 01 00
+0 00 100 011 010 001
+1 01 101 100 011 010
+2 10 110 101 100 011
+3 11 111 110 101 100
Figura 10.4 Comparaciones de nmeros sin signo. Largo 2.
Entonces la ecuacin lgica para la condicin LTU es:

LTU = ~C
out
Para largos de operandos de tres bits:
Unidad Aritmtica 5
Profesor Leopoldo Silva Bijit 18-07-2007

(+0) (+1) (+2) (+3) (+4) (+5) (+6) (+7) A+(B)+1
111 110 101 100 011 010 001 000
+0 000 1000 0111 0110 0101 0100 0011 0010 0001
+1 001 1001 1000 0111 0110 0101 0100 0011 0010
+2 010 1010 1001 1000 0111 0110 0101 0100 0011
+3 011 1011 1010 1001 1000 0111 0110 0101 0100
+4 100 1100 1011 1010 1001 1000 0111 0110 0101
+5 101 1101 1100 1011 1010 1001 1000 0111 0110
+6 110 1110 1101 1100 1011 1010 1001 1000 0111
+7 111 1111 1110 1101 1100 1011 1010 1001 1000
Figura 10.5 Comparaciones de nmeros sin signo. Largo 2.
10.1.5. Generacin de condiciones.
Para un sumador de 32 bits, resumiendo lo visto hasta el momento, se puede construir la
siguiente tabla de verdad para las condiciones, en funcin de las entradas A31, B31 y el carry-in
a esa etapa, C31.

Las columnas Carry-out (Co) y S31 corresponden a las de un sumador completo, y se obtienen
del diseo del sumador. Las columnas de las condiciones Ov y LT, se han escrito cumpliendo
las ecuaciones desarrolladas anteriormente.

A31 B31 C31 Co S31 Ov LT
0 0 0 0 0 0 0
0 0 1 0 1 1 0
0 1 0 0 1 0 1
0 1 1 1 0 0 0
1 0 0 0 1 0 1
1 0 1 1 0 0 0
1 1 0 1 0 1 1
1 1 1 1 1 0 1
Figura 10.6 Generacin de condiciones.
Las condiciones pueden escribirse en funcin de las entradas a la ltima etapa del sumador:
ov = ( C
31
Co ) = C
31
Co' + C
31
'Co = (C
31
diferente de Co). Esta es la expresin ms
simple para el ov, ya que ocupa menos trminos. Antes se obtuvo relacin empleando S31.
Sin emplear carry interno: ov = ( S
31
Co A
31
B
31
)

LT = (A < B ) = ( S
31
ov ) = A
31
C
31
' + B
31
C
31
' + A
31
B
31

En estas ecuaciones basta reemplazar el nmero 31, por (n-1) para obtener las condiciones para
un sumador de n bits. Las condiciones pueden determinarse con lgica combinacional asociada
a la etapa ms significativa del sumador binario.

6 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007
La condicin de operandos iguales, la diagonal principal de la tabla, puede obtenerse a partir de
los bits del resultado (para largo de 3 bits):

Zero = ( A == B) = (S
2
+ S
1
+S
0
)' = Detecta un resultado igual a cero. Operandos iguales.

Debe notarse que esta ecuacin para un sumador de n bits, es un nor de los bits del resultado, y
su realizacin en dos niveles es bastante ms costosa que las dos condiciones anteriores.

Se ilustran a continuacin otras condiciones de comparacin entre dos operandos, y todas ellas
pueden derivarse de las seales LT y Zero.

GE = ( A>= B) = ( A<B )' = (LT)' = greater or equal
NZ = ( A != B) = Zero' = (S
31
+ ...+ S
2
+ S
1
+S
0
) = Resultado diferente a cero = Operandos
diferentes
GT = ( A > B ) = (A >= B) & NZ = greater than = A mayor que B.
LE = ( A <= B ) = (A > B) ' = ( A < B) | Zero = less or equal = A menor o igual que B.
10.2. Arquitectura de una unidad aritmtica.
El diseo parte de las especificaciones de la unidad. Es decir el largo de los operandos, las
diferentes operaciones que se realizarn y las condiciones que se deben generar.

Siguiendo el esquema del texto gua, dispondremos de cuatro operaciones: and, or, suma, resta y
una instruccin de comparacin. Operandos de 32 bits, y condiciones para overflow. En un
caso ms general, las operaciones a implementar dependen del repertorio de instrucciones.

Se decide emplear una operacin de set on less, que deje un uno en el bit menos significativo
del resultado si el operando A es menor que el operando B. Terminada la operacin, queda en
un registro el resultado de la comparacin, y luego pueden efectuarse saltos o bifurcaciones de
acuerdo al valor del registro.

Puede plantearse un diseo modular. El siguiente esquema, basado en multiplexores, logra
cumplir las especificaciones dadas. Si Binvert y CarryIn son unos, y la operacin es suma, se
logra obtener la resta de A con B. La operacin set on less, deja pasar directamente la entrada
Less hacia un bit del resultado.
10.2.1. Para una etapa cualquiera.
Todos los mdulos son iguales, salvo el dedicado al bit ms significativo, que segn se ha visto
permite determinar las condiciones. Un esquema de la etapa cualquiera es:







Unidad Aritmtica 7
Profesor Leopoldo Silva Bijit 18-07-2007















Figura 10.7 Esquema de una etapa cualquiera.
10.2.2. Etapa del bit ms significativo.




















Figura 10.8 Esquema de la etapa ms significativa.
Si se une el Carry-Out de una etapa con el Carry-In de la siguiente, exceptuando la primera
etapa, en la que puede unirse Binvert con Carry-In (se denomina Bnegate, a la nueva seal) se
logra el esquema que se muestra a continuacin:


0
1
2
+
Operacin
3
Resultado
Binvert CarryIn
a
i

b
i

less
0
1
CarryOut

0
1
2
+
Operacin
3
Resultado
Binvert CarryIn
a
n

b
n

less
0
1
Generacin
Condiciones
LT
Overflow
8 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007
Debe notarse en el esquema que la seal LT est directamente cableada con la entrada Less de
la primera etapa, y que todas las dems etapas tienen entrada cero en Less.

En el esquema tambin se muestra el diseo lgico de la seal Zero.
10.2.3. Esquema general.


































Figura 10.9 Conexin de las etapas.
La ruta crtica es la propagacin de la reserva a travs de las etapas.

Operacin Bnegate
C
2

0
1
2
+
3
S
31
C
31

a
31

b
31

less
31

C
32

Condiciones
Ov C LT
0
1
2
+
3
S
i

C
i

a
i

b
i

less
i

C
i+1

0
1
2
+
3
S
0
C
0

a
0

b
0

less
0
C
1

0
1
2
+
3
S
1
C
1

a
1

b
1

less
1

Zero
Unidad Aritmtica 9
Profesor Leopoldo Silva Bijit 18-07-2007
Si para el sumador de 32 bits, se plantea una tabla de verdad que tenga como entradas el Carry-
in y las 32 entradas del operando A y las 32 entradas del operando B; y como salidas los 32 bits
del resultado y los bits de Carry-out y LT, puede efectuarse un diseo en dos niveles,
eliminando la propagacin de la reserva. Pero resultara de gran complejidad, una solucin de
menor costo que tradicionalmente se emplea es acelerar la propagacin de la reserva en grupos.
10.2.4. Modificacin para tratar nmeros con signo.
En caso de agregar comparaciones de nmeros sin signo, en la etapa ms significativa del
sumador, debe colocarse un multiplexor, controlado por la seal CLT, para llevar a la entrada
less de la etapa menos significativa del sumador, la seal LT, en caso de que se est ejecutando
una instruccin slt; o la seal LTU, en caso de que est en ejecucin una instruccin sltu.



















Figura 10.10 Condiciones de nmeros con y sin signo.
10.3. Anlisis de un sumador binario.
10.3.1. Ecuaciones.
Para un sumador completo se tiene la siguiente tabla de verdad:

0
1
2
+
Operacin
3
Resultado
Binvert CarryIn
a
n

b
n

less
0
1
Generacin
Condiciones
LT
LTU
0
1
CLT
C
out
10 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007

Entradas Salidas
Ai Bi Ci Ci+1 Si
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Figura 10.11 Tabla de verdad de sumador binario.
Leyendo del mapa se obtienen, minimizando en dos niveles:
Ci +1 = Ai Bi + (Ai +Bi) Ci
Si = Ci(AiBi+AiBi) + Ci( AiBi +AiBi)

Como: (AiBi+AiBi) = Ai Bi
Y su complemento es:
(Ai Bi)= (AiBi+AiBi) = (Ai+Bi)(Ai+Bi) = ( AiBi +AiBi)
Se puede escribir en forma ms compacta: Si = CiAiBi

Empleando:
Gi = Ai Bi
Pi = Ai + Bi

Pueden escribirse:
Ci+1 = Gi + Pi Ci
Si = Ci ( Gi Pi)









Figura 10.12 Generacin de Gi, Pi, Ci+1 y Si.
El diagrama muestra que la suma binaria puede realizarse mediante las seales Gi, Pi y Ci. Esta
forma se emplea en el diseo del sumador de cuatro bits, con generacin adelantada de la
reserva, 74LS283.
Ci Bi Ai
Gi
Pi
Si Ci+1
Unidad Aritmtica 11
Profesor Leopoldo Silva Bijit 18-07-2007

Para efectuar un anlisis ms detallado de los retardos combinacionales en un sumador se
asumir que la seal Si se genera en dos niveles, a partir de Ai, Bi y Ci. Y que la reserva de
salida se genera empleando las seales Gi, Pi y Ci, en tres niveles.
10.3.2. Sumador con propagacin de la reserva.
La organizacin de un sumador con propagacin ondulada de la reserva(ripple) produce las
salidas con los siguientes retardos de propagacin medidos en unidades de retardo a travs de
una compuerta:




Figura 10.13 Tiempos en sumador con propagacin ondulada de la reserva.
Todos los tiempos se miden respecto al instante en que estn estables las entradas Ai, Bi y C0.
S0 se obtiene con retardo 2, C1 con retardo 3.
S1 se obtiene despus de 5 unidades, C2 despus de 6 unidades. Ya que desde las entradas A1,
B1 y C1, C2 se genera despus de tres unidades, y S1 despus de 2 unidades.
S2 se obtiene despus de 8 unidades, C3 despus de 9 unidades.

Si se obtiene despus de 3*i +2 unidades, Ci+1 despus de 3*i+3 unidades.

Para un sumador de 32 bits, S31 se obtiene despus de 95 unidades y C32 despus de 96
retardos de propagacin de una compuerta.

Si se hubieran generado las reservas y las sumas en dos niveles, se tiene que tanto las suma
como la reserva de salida de la etapa i-sima se obtienen en 2*i+2 retardos de propagacin de
una compuerta. Para el caso de 32 bits se tendrn 64 retardos.
10.3.3. Generador de reserva adelantada.
Se desea reducir el nmero de niveles para propagar la reserva. Se plantea un diseo modular
agrupando 4 sumadores completos y generando las reservas (C1, C2, C3 y C4) en dos niveles. A
continuacin se desarrolla, en forma analtica, el diseo lgico:

En las ecuaciones de las reservas de los sumadores completos se efectan los siguientes
reemplazos:

Ai Bi Ci
Ci+1 Si
A0 B0 C0
C1 S0
A1 B1 C1
C2 S1
A2 B2 C2
C3 S2
3 2
6 5 9 8 3i+3 3i+2
12 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007
Gi = Ai Bi genera reserva de salida independiente de la reserva de entrada. Si Gi es 1,
entonces Ci+1 es uno (se genera reserva)
Pi = Ai + Bi propaga reserva de entrada hacia la reserva de salida. Si Pi es 0, no se propaga.

Se plantean las ecuaciones para las reservas en funcin de Ai, Bi y Ci. Luego se reemplaza la
expresin para C1 en la expresin para C2; a su vez sta se reemplaza en la expresin de C3,
finalmente se reemplaza esta ltima en la expresin para C4, resultan:

C1 = A0B0 +A0 C0 +B0C0 = G0 + C0 P0
C2 = A1B1 +A1 C1 +B1C1 = G1 + C1 P1 = G1 + (G0 + C0 P0) P1
C3 = A2B2 +A2 C2 +B2C2 = G2 + C2 P2 = G2 + (G1 +(G0 + C0 P0) P1) P2
C4 = A3B3 +A3 C3 +B3C3 = G3 + C3 P3 = G3 + (G2 + (G1 +(G0 + C0 P0) P1) P2 )P3

Expresando en funcin de Gi, Pi y C0 se obtienen:
C1 = G0 + C0 P0
C2 = G1 + G0 P1 + C0 P0 P1
C3 = G2 + G1 P2 + G0 P1 P2 + C0 P0 P1 P2
C4 = G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P3 + C0 P0 P1 P2 P3 = G + C0 P

Ntese la definicin de G y P en la ltima ecuacin.
Se disea un mdulo que tenga como entradas Gi, Pi, C0 y como salidas: C1, C2, C3, G y P.

Las ecuaciones anteriores se han integrado en una sola pastilla. Ver 74182. Notar que no se
genera C4, sino G y P.

El esquema siguiente ilustra las entradas y salidas de los cuatro sumadores completos y del
circuito generador de reserva adelantada (look-ahead carry generator).

Respecto del instante en que se tienen estables las entradas Ai, Bi y C0 se tienen, expresando en
unidades de retardo de propagacin a travs de una compuerta:
S0 se obtiene despus de 2 unidades. P0 y G0 despus de una unidad. C1 despus de 3 unidades.
S1 se obtiene despus de 5 unidades (el tiempo de C1 ms los dos niveles del sumador). P1 y
G1 despus de una unidad. C2 despus de 3 unidades (lo genera la unidad de adelanto).
S2 se obtiene despus de 5 unidades. P2 y G2 despus de una unidad. C3 despus de 3 unidades.
S3 se obtiene despus de 5 unidades. P3 y G3 despus de una unidad. P se obtiene despus de
dos unidades y G se obtiene despus de 3 unidades. C4 se obtiene despus de 4 unidades, ya
que se genera a partir de G + C0P.
Unidad Aritmtica 13
Profesor Leopoldo Silva Bijit 18-07-2007

































Figura 10.14 Generacin de reservas por grupos de a cuatro bits.
Un resumen del sumador de 4 bits con un nivel de generacin adelantada de las reservas, se
muestra a continuacin:







Figura 10.15 Tiempos en sumador con propagacin agrupada de la reserva.
P0
G0
A0
B0
S0
C0
P1
G1
A1
B1
S1
C1
P2
G2
A2
B2
S2
C2
P3
G3
A3
B3
S3
C3

74182
Generador de reserva por grupos.



C1 = G0 + C0

C2 = G1 + (G0 + C0 P0)
C3 = G2 + (G1 + (G0 + C0 P0) P1 ) P2
C4 = G3 + (G2 + (G1 + (G0 + C0 P0) P1 ) P2 ) P3
C4 = G + C0 P
Cin
P = P0 P1 P2 P3 (2)
G = G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P3 3)
P0 = A0 B0 (1)
G0 = A0 + B0
P1 = A1 B1
G1 = A1 + B1
P2 = A2 B2
G2 = A2 + B2
P3 = A3 B3
G3 = A3 + B3
P G
C0
Ai..i+3 Bi..i+3 Ci

Ci+4 P G Si..i+3
5 4 2 3
14 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007

Los tiempos, medidos en unidades de retardo de una compuerta, son con respecto al instante en
que se tienen niveles estables en las entradas.
10.3.4. Estructuras para sumadores de mayores rdenes.
Una posibilidad de construir un sumador mayor es agrupar bloques similares al anterior y
propagar la reserva en forma ondulada entre los sumadores completos de 4 bits. Un esquema se
muestra a continuacin:

Se muestran entre parntesis los retardos hasta seales estables en las salidas, a partir del
momento en que se dispone de las entradas:








Figura 10.16 Tiempos en sumador de 16 bits con propagacin agrupada de la reserva.
Para el n-avo sumador de cuatro bits se tienen 4*n +1 retardos hasta el resultado de la suma de
la etapa n-ava y 4*n retardos hasta la reserva de salida. Con ocho sumadores de cuatro bits, se
tienen 33 retardos hasta tener resultado estable en la salida, en un sumador de 32 bits.

Otra posibilidad es adelantar la reserva para los cuatro grupos de sumadores de cuatro bits. Esto
consiste en generar a partir de C0 y las seales P y G de cada sumador de 4 bits, las reservas C4,
C8, C12 y C16, mediante la red combinacional de generacin de reservas adelantadas.
A12.15 B12.15 C12

G + C12P(16)
A4.7 B4.7 C4

G +C4P(8)
A8.11 B8.11 C8

G +C8P(12)
S8.11(13)
S4.7(9)
S12.15(17) C16(16)
A0.3 B0.3 C0

G +C0P(4)
S0.3(5)
C4(4)
C8(8) C12(12)
Unidad Aritmtica 15
Profesor Leopoldo Silva Bijit 18-07-2007
Figura 10.17 Dos niveles de propagacin agrupada de la reserva.

El sumador de 16 bits con dos niveles de adelanto de reserva puede representarse segn el
siguiente esquema:

En el diagrama se han mantenido los nombres de las entradas y salidas del generador de
reservas adelantadas y se han redefinido las reservas de salida como C4, C8, C12 y C16.
A0..3 B0..3 C0

P G S0..3
5 2
A4..7 B4..7 C4

P G S4..7
10 2
A8..11 B8..11 C8

P G S8..11
10 2
A12.15 B12.15 C12

P G S12..15
10 2
PG PG PG PG C0

P G C12 C8 C4
3 5 5 5 5
C16 (6)
16 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007





























Figura 10.18 Generacin de dos niveles de propagacin agrupada de la reserva.
Un resumen de los tiempos, para el sumador de 16 bits, con dos niveles de adelanto de la
reserva, se muestra a continuacin:








Figura 10.19 Tiempos en sumador de 16 bits, con dos niveles de propagacin.
Si se forma un sumador de 32, con propagacin ondulada de la reserva entre los sumadores de
16 bits, se logra:
P3 = P12 P13 P14 P15
G3 = G15 + G14 P15 + G13 P14 P15 + G12 P13 P14 P15
C16 = G3 + (G2 + (G1 + (G0 + C0 P0) P1 ) P2 ) P3
P0
G0
A0..A3
B0..B3
S0..S3
C0
P1
G1
A4..A7
B4..B7
S4..S7
C4
P2
G2
A8..A11
B8..B11
S8..S11
C8
P3
G3
A12..A15
B12..B15
S12..S15
C12






74182
P0 = P0 P1 P2 P3
G0 = G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P3
C4 = G0 + C0 P0
P1 = P4 P5 P6 P7
G1 = G7 + G6 P7 + G5 P6 P7 + G4 P5 P6 P7
C8 = G1 + (G0 + C0 P0) P1
P2 = P8 P9 P10 P11
G2 = G11 + G10 P11 + G9 P10 P11 + G8 P9 P10 P11
C12 = G2 + (G1 + (G0 + C0 P0) P1 ) P2
Cin
P = P0 P1 P2 P3
G = G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P3
C0
74182
74182
74182
74182
Ai..i+15 Bi..i+15 Ci

Ci+16 P G Si..i+15
10
6 3 5
Unidad Aritmtica 17
Profesor Leopoldo Silva Bijit 18-07-2007







Figura 10.20 Sumador de 32 bits, con dos de 16 bits.
La solucin anterior logra efectuar la suma en 16 retardos y la reserva de salida en 12.

Para un sumador de 32 bits, con un nivel adicional de generacin adelantada de las reservas (y
empleando parcialmente dicho circuito) se obtiene la suma en 16 y la reserva de salida en 7
retardos; es decir no se requiere agregar un tercer nivel, ya que la operacin suma se logra en
ambos casos en 16 unidades de retardo de una compuerta. El siguiente esquema ilustra el tercer
nivel de generacin de reservas adelantadas para un sumador de 64 bits.















Figura 10.21 Sumador de 32 bits, con tres niveles de propagacin agrupada.
Desde un tiempo de operacin suma de 96 64 retardos, se ha logrado reducir el costo de la
operacin a 16 unidades; agregando redes combinacionales de generacin agrupada y
adelantada de las reservas.

Pueden verse aplicaciones tpicas del circuito generador de reservas adelantadas en la hoja de
datos.

A0..15 B0..15 C0

C16 P G S0..15
10
6 3 5
A16..31 B16..31 C16

C32 P G S16..31
16
12 3 5

3 3 3
3
PG PG PG PG C0

C64 P G C48 C32 C16
7 7 7 7 4 8
18 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007
10.4. Desplazador combinacional. (shifter).
Las operaciones de corrimiento requieren una unidad combinacional para efectuar los
desplazamientos. El siguiente es el repertorio MIPS para las instrucciones de corrimiento:

El campo inmediato de 5 bits est formado por los bits 10 a 6 de la instruccin, y permite
describir corrimientos desde 0 a 31 posiciones.
En corrimientos lgicos, a la izquierda o a la derecha se rellenan con ceros las posiciones que se
incorporan al registro por la derecha o izquierda respectivamente.
En corrimientos aritmticos, slo a la derecha, se rellenan con el bit del signo las posiciones
que se incorporan al registro por la derecha.

a) Corrimientos Inmediatos.
shift left logical inmediato: sll $t1, $t2, 10
Corrimiento lgico a la izquierda, efecta: $t1 = $t2 << 10
shift right logical inmediato: srl $t1, $t2, 8
Corrimiento lgico a la derecha, efecta: $t1 = ((unsigned int) $t2) >> 8
shift right arithmetic inmediato: sra $t1,$t2, 5
Corrimiento aritmtico a la derecha, efecta: $t1 = $t2 >> 5

b) Corrimientos variables(el valor corrimiento se pasa en un registro).
shift left logical variable: sllv $t1, $t2, $t3
Corrimiento lgico a la izquierda por variable, efecta: $t1 = $t2 << $t3.
shift right logical variable: srlv $t1, $t2, $t3
Corrimiento lgico a la derecha por variable, efecta: $t1 = ((unsigned int) $t2) >> $t3.
shift right arithmetic variable: srav $t1, $t2, $t3
Corrimiento aritmtico a la derecha por variable, efecta: $t1 = $t2 >> $t3.

A continuacin se muestra un esquema, empleando mux de dos vas, para desplazar hacia la
derecha, empleando redes combinacionales.
Unidad Aritmtica 19
Profesor Leopoldo Silva Bijit 18-07-2007





















Figura 10.22 Estructura desplazador combinacional con mux 2 a 1.
En el esquema anterior, A corresponde al operando de entrada, S al corrimiento y R al resultado.
Todos los mux en un nivel se activan con la misma seal de control.
Las entradas activadas con S1=1, se alimentan de las salidas desplazadas en dos posiciones de
los muxes del nivel anterior.
Las entradas activadas con S2=1, se alimentan de las salidas desplazadas en cuatro posiciones
de los muxes del nivel anterior.
Si no se activan S0, S1 y S2, el valor de A0 pasa a R0. Es decir se logra un corrimiento a la
derecha de cero posiciones.
Si se activan S0, S1 y S2, el valor de A7 pasa a R0. Es decir se logra un corrimiento a la derecha
de siete posiciones.

Para desplazar A31 a la posicin A0 se requieren cinco niveles de muxes, y cinco seales de
control.

Cada multiplexor puede disearse con dos niveles de compuertas.

Si los multiplexores son de 4 vas a uno, puede reducirse el nmero de niveles y reducir el
tiempo de propagacin. Se muestra una parte del primer nivel, y solo algunas conexiones del
segundo nivel.

Cuando las seales de control S3, S2, S1 y S0 son ceros, se coloca en R0 el valor del bit A0.
Cuando las seales de control S3, S2 son ceros y S1, S0 son unos, se coloca en R0 el valor del
bit A3.
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
A7 A6 A5 A4 A3 A2 A1 A0
R7 R6 R5 R4 R3 R2 R1 R0
S0
S1
S2
20 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007
Cuando las seales de control S3, S2, S1 y S0 son unos, se coloca en R0 el valor del bit A15.












Figura 10.23 Estructura desplazador combinacional con mux 4 a 1.
Si se emplean transistores MOS, puede desarrollarse una red que produzca los desplazamientos
empleando un nmero menor de transistores.

Se denominan circuitos lgicos de transmisin a aqullos que conducen los datos de entrada
hacia las salidas, de acuerdo a los valores de las seales de control.
En estas redes debe cumplirse que:
Para cualquier combinacin de las entradas de control debe haber a lo menos una va de
conduccin entre la entrada y la salida; es decir, un nodo de salida debe ser conducido por
alguna entrada, no debe quedar flotando.

Nunca debe existir ms de una va conductora entre las entradas y una salida.

El siguiente diagrama muestra una red lgica de transmisin, que implementa un desplazador:
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
A7 A6 A5 A4 A3 A2 A1 A0
S1
S3
Unidad Aritmtica 21
Profesor Leopoldo Silva Bijit 18-07-2007



























Figura 10.24 Estructura desplazador con compuertas de transmisin.
Slo una de las entradas de control puede estar activa. Cuando se activa S3, se produce un
corrimiento en tres posiciones hacia la derecha.
S0 S1 S2 S3
R3
R2
R1
R0
A0
A1 A2
A3
A4
A5
A6
22 Estructuras de Computadores Digitales
Profesor Leopoldo Silva Bijit 18-07-2007

ndice general.
CAPTULO 10. ...........................................................................................................................................1
UNIDAD ARITMTICA. ..........................................................................................................................1
10.1. DETERMINACIN DE ECUACIONES LGICAS PARA LAS CONDICIONES O FLAGS. ................................1
10.1.1. Sumador sin signo....................................................................................................................1
10.1.2. Sumas y Restas con signo.........................................................................................................2
10.1.3. Comparaciones. .......................................................................................................................3
10.1.4. Comparaciones de nmeros sin signo......................................................................................4
10.1.5. Generacin de condiciones. .....................................................................................................5
10.2. ARQUITECTURA DE UNA UNIDAD ARITMTICA. ................................................................................6
10.2.1. Para una etapa cualquiera.......................................................................................................6
10.2.2. Etapa del bit ms significativo. ................................................................................................7
10.2.3. Esquema general......................................................................................................................8
10.2.4. Modificacin para tratar nmeros con signo...........................................................................9
10.3. ANLISIS DE UN SUMADOR BINARIO. ................................................................................................9
10.3.1. Ecuaciones. ..............................................................................................................................9
10.3.2. Sumador con propagacin de la reserva. ..............................................................................11
10.3.3. Generador de reserva adelantada. ........................................................................................11
10.3.4. Estructuras para sumadores de mayores rdenes. ................................................................14
10.4. DESPLAZADOR COMBINACIONAL. (SHIFTER).................................................................................18
NDICE GENERAL. ....................................................................................................................................22
NDICE DE FIGURAS. ................................................................................................................................22

ndice de figuras.
FIGURA 10.1 SUMAS DE NMEROS SIN SIGNO. LARGO 3. ...............................................................................2
FIGURA 10.2 SUMAS DE NMEROS CON SIGNO. LARGO 3...............................................................................3
FIGURA 10.3 COMPARACIONES DE NMEROS CON SIGNO. LARGO 3. .............................................................4
FIGURA 10.4 COMPARACIONES DE NMEROS SIN SIGNO. LARGO 2................................................................4
FIGURA 10.5 COMPARACIONES DE NMEROS SIN SIGNO. LARGO 2................................................................5
FIGURA 10.6 GENERACIN DE CONDICIONES.................................................................................................5
FIGURA 10.7 ESQUEMA DE UNA ETAPA CUALQUIERA. ...................................................................................7
FIGURA 10.8 ESQUEMA DE LA ETAPA MS SIGNIFICATIVA.............................................................................7
FIGURA 10.9 CONEXIN DE LAS ETAPAS........................................................................................................8
FIGURA 10.10 CONDICIONES DE NMEROS CON Y SIN SIGNO. ........................................................................9
FIGURA 10.11 TABLA DE VERDAD DE SUMADOR BINARIO. ..........................................................................10
FIGURA 10.12 GENERACIN DE GI, PI, CI+1 Y SI. .......................................................................................10
FIGURA 10.13 TIEMPOS EN SUMADOR CON PROPAGACIN ONDULADA DE LA RESERVA...............................11
FIGURA 10.14 GENERACIN DE RESERVAS POR GRUPOS DE A CUATRO BITS. ...............................................13
FIGURA 10.15 TIEMPOS EN SUMADOR CON PROPAGACIN AGRUPADA DE LA RESERVA. ..............................13
FIGURA 10.16 TIEMPOS EN SUMADOR DE 16 BITS CON PROPAGACIN AGRUPADA DE LA RESERVA. ............14
FIGURA 10.17 DOS NIVELES DE PROPAGACIN AGRUPADA DE LA RESERVA. ...............................................15
FIGURA 10.18 GENERACIN DE DOS NIVELES DE PROPAGACIN AGRUPADA DE LA RESERVA......................16
FIGURA 10.19 TIEMPOS EN SUMADOR DE 16 BITS, CON DOS NIVELES DE PROPAGACIN. .............................16
Unidad Aritmtica 23
Profesor Leopoldo Silva Bijit 18-07-2007
FIGURA 10.20 SUMADOR DE 32 BITS, CON DOS DE 16 BITS.......................................................................... 17
FIGURA 10.21 SUMADOR DE 32 BITS, CON TRES NIVELES DE PROPAGACIN AGRUPADA. ............................ 17
FIGURA 10.22 ESTRUCTURA DESPLAZADOR COMBINACIONAL CON MUX 2 A 1. .......................................... 19
FIGURA 10.23 ESTRUCTURA DESPLAZADOR COMBINACIONAL CON MUX 4 A 1. .......................................... 20
FIGURA 10.24 ESTRUCTURA DESPLAZADOR CON COMPUERTAS DE TRANSMISIN. ..................................... 21

You might also like