Está en la página 1de 14

Unidad Aritmtico Lgica

UNIDAD ARITMETICO-LOGICA
Conceptos
Unidad aritmtico-lgica: Elemento que realiza las operaciones aritmticas y lgicas entre los datos

Operaciones
tpicas

1.

Sumar
Restar
Multiplicar
Desplazamiento de registros
Comparaciones

Sumadores y restadores

Semisumador:
a

Pgina 1

Unidad Aritmtico Lgica

Sumador:

a
b
Cin

Co

a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

Cin
0
1
0
1
0
1
0
1

s
0
1
1
0
1
0
0
1

Co
0
0
0
1
0
1
1
1

S = abc + abc + abc + abc = c(ab + ab) + c (ab + ab ) = c(a b) + c (a b) = cm + cm) = c m = c (a b)


C0 = abc + abc + abc + abc = ab + c(a b)

Sumador serie:

Sumador paralelo con propagacin de arrastre:

Pgina 2

Unidad Aritmtico Lgica

Semirrestador:
a

s
a-b

Restador:

b a-b- Cin
Ci

Co

a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

Ci
0
1
0
1
0
1
0
1

D
0
1
1
0
1
0
0
1

Ci+1
0
1
1
1
0
0
0
1

S = abc + abc + abc + abc = c(ab + ab) + c (ab + ab ) = c(a b) + c (a b) = cm + cm) = c m = c (a b)


Ci +1 = abc + abc + abc + abc = ab + ci (a b)

Restador paralelo con propagacin de arrastre:

Pgina 3

Unidad Aritmtico Lgica

Convertir un semisumador en semirrestador


Semisumador:

Semirrestador:

Como se puede apreciar la


diferencia consiste en que la
entrada A en el semisumador
es literal y en el semirestador
es invertida.
Por lo tanto la solucin es
invertir dicha entrada.
Un circuito que podra servir
para
ambos
propsitos
consistira en colocar una
puerta que entregara una
variable literal o invertida
segn se seleccione con una
patilla. Dicha puerta es una
O-exclusiva en la que la
variable entra en una de las
entradas y la otra entrada se
utiliza como selector de
funcin

a
a

m
a

Sumador_restador

Sumador-Restador paralelo con propagacin de arrastre:

Pgina 4

Unidad Aritmtico Lgica

Deteccin del rebose en el sumador-restador con propagacin de arrastre:


Rebose: Efecto que se produce cuando se realiza una
operacin aritmtica entre dos o ms nmeros,
cuyo resultado es mayor a la capacidad de
representacin del sistema, interpretando de
esta manera un error en el resultado
Cuando se suman nmeros con signo, la suma de dos
nmeros de diferente signo no produce
nunca rebose. Sin embargo si se suman
dos nmeros del mismo signo, el
resultado puede producir rebose. En la
tabla siguiente se muestran las
condiciones de rebose y el circuito
detector del mismo.

-1
-1
-2

1
1
0

0
0
0

0
R = Cn Cn 1 + Cn Cn 1 = Cn Cn 1

2.

+1
0
1
+
0
1
+1
+2
1
0
0
1

Sumadores de alta velocidad

Caractersticas de los arrastres:


Un arrastre se generar en la posicin i-sima si (xi+yi)>1

Un arrastre se propagar de la posicin i-sima a la (i+1)-sima si (xi+yi)=1

De acuerdo a lo expuesto las secuencias de arrastre que se

SECUENCIAS
DE
ARRASTRE

iniciarn simultneamente en una suma ser aquellas etapas


cuyos valores de entradas sean xi=yi=1
Continuarn a travs de las etapas en las que xiyi
Pararn cuando lleguen a una etapa en la que xi=yi

Inico de secuencia

N Secuencias
x=
y=

Fin de secuencia

0
0

0
1

1
1

4
0
0

0
1

1
0

0
1

1
1

1
0
0

1
1

2
0
0

1
0

1
1

Pgina 5

Unidad Aritmtico Lgica

Sumador paralelo con acarreo adelantado:


Pi = ai bi
Gi = ai bi
Si = Pi Ci
Ci = Gi 1 + Pi 1Ci 1
C1 = G0 + P0C0
C2 = G1 + PC
1 1 = G1 + P1 (G0 + P0 C0 ) = G1 + PG
1 0 + P1 P0C0
C3 = G2 + P2C2 = G2 + P2 (G1 + PG
1 0 + P1 P0C0 ) = G2 + P2 G1 + P2 PG
1 0 + P2 P1 P0 C0
C4 = G3 + P3C3 = G3 + P3 (G2 + P2G1 + P2 PG
1 0 + P2 P1 P0C0 ) = G3 + P3G2 + P3 P2 G1 + P3 P2 PG
1 0 + P3 P2 P1 P0 C0
Se gestiona el acarreo desde el principio, suponiendo para cada salida 4 etapas de puertas
lgicas, independientemente del orden de la salida Sn
Circuito de aceleracin de arrastres de 4 bits

Sumador con aceleracin de los 4 bits

Sumador de 16 bits construido con 4 SAA de 4 bits

Pgina 6

Unidad Aritmtico Lgica

3.

Sumadores en cdigo BCD

Se realizan como sumadores binarios naturales, aadindoles unos circuitos de correccin que
garanticen la codificacin de los resultados cuando el resultado de la suma sea mayor que 9.

CORRECCIN

Si hay arrastre de salida en el primer resultado (k=1). Esto sucede


cuando la suma de los dgitos BCD es mayor de 15.
Cuando la suma est comprendida entre 10 y 15 (c1=1).

389
459
848

+6
0110

Pgina 7

Unidad Aritmtico Lgica

4. Multiplicadores binarios
Multiplicacin de lpiz y papel

Pgina 8

Unidad Aritmtico Lgica

5. Estructura de la unidad lgica aritmtica


La estructura bsica de una unidad lgica aritmtica suele consistir en utilizar multiplexores con tantas entradas como
operaciones queremos que realice dicha ALU y en cada entrada colocar el circuito que ha de realizar la operacin
correspondiente
ALU SN74181

Pgina 9

Unidad Aritmtico Lgica

Operaciones de desplazamiento

Tratamiento del bit de signo

Clasificacin de
los
desplazamientos

Sentido de desplazamiento
Tratami. Bits que rebosan
Longitud de registros

Aritmticos (A) No afecta al signo


Lgicos (L) Interviene el signo
Dcha (D)
Izda (I)
Abierto (A) Se pierde le bit de rebose
Cerrado ( C) Interviene el bit de rebose
Simples (S) Registro nico
Dobles (D) Pareja de registros

Ejemplo: Disear un registro de desplazamiento de 4 bits que sea capaz de realizar los desplazamientos indicados en
la siguiente tabla de la verdad.

Pgina 10

Unidad Aritmtico Lgica

Comparadores
Son elementos que en base a introducirle dos nmeros de n bits (x , y) entregan a su salida mediante tres seales el
valor de la comparacin M (x>y), I (x=y) y m (x<y).

Tipos de
comparadores

Circuito combinacional
Circuito secuencial
Utilizando un sumador

Circuito combinacional
Smbolo

Tabla de la verdad

Ecuaciones

Circuito lgico

Circuito secuencial

Utilizando un sumador
Consiste en restar los dos nmeros a comparar y analizar los bits de estados generados por la ALU.
La resta se efecta sumando x ms el complemento a 2 de y. x+(comp. a 2).
Los bits analizados son: el carry ( C) o llevada, el cero (Z) , el de signo (N) y el rebosamiento o overflow (V).

2 num positivos sin signo

x=y Z=1
x>y Z=0yC=1
x<yZ=0yC=0

2 num con signo en


complemento a 2

x=y Z=1
x>y Z=0yNV=0
x<y NV=1

Posibilidades

Pgina 11

Unidad Aritmtico Lgica

Problemas de UNIDAD ARITMETICO-LOGICA:


Problema 2 semana de Junio de 2000
Se desea realizar una Unidad Aritmtico Lgica (UAL) como la mostrada en la figura, con dos entradas de datos X (x1x0) e Y (y1y0),
una entrada de control C (c1c0) y una salida de datos R (r3r2r1r0). El funcionamiento de la UAL viene descrito por la siguiente tabla:

Para resolver el problema, seguir obligatoriamente los siguientes apartados:


a) (1 punto) Disear un comparador de nmeros de dos bits utilizando nicamente comparadores de nmeros de un bit y puertas
lgicas.
b) (2 puntos) Disear un sumador/multiplicador de dos nmeros de 2 bits utilizando nicamente un mdulo de memoria ROM.
Cul es el tamao necesario para este mdulo de memoria ROM? Indique claramente el significado de cada una de sus
entradas y cada una de sus salidas. Escriba todo el contenido de la memoria ROM en forma de tabla.
c) (1 punto) Utilizando nicamente los mdulos diseados en los apartados anteriores, los mdulos combinacionales necesarios y
puertas lgicas, disee la UAL pedida.

Solucin
a) Para comparar X e Y es necesario comparar cada bit de uno de ellos con el bit de igual peso del otro. Para hacer estas
comparaciones utilizamos los comparadores de 1 bit propuestos. Si el resultado de la comparacin de xi e yi es: Mi, Ii y mi, se
cumple que:
Mi =1 si xi > yi
Ii =1 si xi = yi
mi =1 si xi < yi
A partir de Mi, Ii y mi se generan las salidas M, I y m del comparador de 2 bits mediante las siguientes funciones booleanas:
M = M1 + I1 M0
I = I1 I0
m = m1 + I1 m0
La explicacin de estas expresiones es inmediata:
x > y si (x1 > y1) o ((x1= y1) y (x0 > y0))
x = y si (x1 = y1) y (x0= y0)
x < y si (x1 < y1) o ((x1= y1) y (x0 < y0))
La Figura 2000-2-2 muestra el circuito lgico pedido en este apartado obtenido a partir de las expresiones anteriores.

Pgina 12

Unidad Aritmtico Lgica

b) Para calcular el tamao de la memoria ROM necesaria hay que saber el nmero entradas y salidas del circuito.

Entradas. Este circuito tiene 5 entradas: 2 para la entrada de datos X (x1x0), 2 para la entrada de datos Y (y1y0) y una
entrada de control (c) para la seleccin de la operacin a realizar por el circuito. Esta ltima entrada de control va a tener el
siguiente significado:
c = 0: Suma
c = 1: Producto
Salidas: Este circuito tiene 4 salidas. El resultado de la suma de dos nmeros de dos bits tiene tan slo 3 bits pero, para el
resultado del producto de dos nmeros de dos bits se requieren 4 bits. Como el circuito a disear tiene que poder hacer
ambas operaciones, su salida ha de tener, necesariamente, 4 bits.
5
Por tanto, el tamao de la memoria ROM necesario para implementar el sumador es de: 2 palabras 4 bits/palabra. El significado
de cada una de sus entradas y salidas se muestra claramente en la Figura 2000-2-3. Finalmente, en la Tabla 2000-2-2 se muestra el
contenido que debera tener la memoria ROM.

c) En la Figura 2000-2-4 se muestra el diseo de la UAL pedida en el problema donde se han utilizado 4 multiplexores para
seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas de control c1 y c0. Tambin la entrada de control de
la UAL c0 se utiliza para seleccionar la operacin a realizar por el Sumador/Multiplicador.

Pgina 13

Unidad Aritmtico Lgica

2.- Decir cul es el retardo que se obtiene al calcular la suma de dos nmeros de 4 bits cada uno:
I. Si el sumador se ha implementado usando lgica combinacional con 2 niveles y cada puerta tarda 5 s en generar el
resultado, el retardo es de 20 s.
II.Si el sumador se ha implementado usando 4 SBC's (Sumador Binario Completo) y cada uno de ellos tarda 10 (s en
generar sus salidas si y ci, el retardo es de 40 s.
A) I: s, II: s.
B) I: s, II: no.
C) I: no, II: s.
D) I: no, II: no.
3.- Se desea comparar el valor de dos nmeros binarios, uno de 5 bits: X= x4x3x2x1x0, y otro de 4 bits: Y=y3y2y1y0. Utilizando
comparadores de un bit se compara cada pareja de bits, xi con yi, i=0..3, obtenindose: Mi (xi>yi), Ii (xi=yi) y mi (xi<yi). Entonces:
I. La funcin lgica M (X>Y) es M = x4 + M3 + I3M2 + I3I2M1+ I3I2I1M0.
II. La funcin lgica I (X=Y) es I = x4 I 0 I1I 2 I 3
A) I: s, II: s.

B) I: s, II: no.

C) I: no, II: s.

D) I: no, II: no.

4.- Cuntos SBC de 1 bit haran falta para construir un sumador binario serie capaz de sumar dos nmeros binarios de n bits?
a) n

B) 2 n

C) log2n

D) Ninguna de las anteriores

4.- Se desea disear un circuito sumador/restador de dos nmeros de cuatro bits cada uno, x3x2x1x0 e y3y2y1y0, con una seal de
control M adicional para indicar la operacin a realizar.
8

I. Con una memoria ROM de 2 palabras con 5 bits por palabra se podra construir.
10
II. Con una memoria ROM de 2 palabras con 9 bits por palabra se podra construir.
A) I: s, II: s.

B) I: s, II: no.

C) I: no, II: s.

D) I: no, II: no.

Junio 2003 Reserva


7.- Si se suman 0011100000110101 y 0100100110010011 en un sumador binario paralelo con propagacin de arrastres:
I. El nmero de secuencias de arrastre que comienza simultneamente es 3.
II. La longitud de la secuencia de arrastre ms grande es 3.
A) I: s, II: s.

B) I: s, II: no.

C) I: no, II: s.

D) I: no, II: no.

PROBLEMAS
En la seccin de problemas se han puesto los correspondientes a los resueltos en el libro de
problemas:
4.40.........................Junio del 2001 1 semana

Pgina 14

También podría gustarte