You are on page 1of 17

TEMA 5: SISTEMAS ARITMETICOS Y LOGICOS.

5.1. Sumadores binarios.


Casi todo se hace con sumas: sumas, restas, productos, ... Concepto de acarreo.
5.1.1. Semisumador. Half Adder (HA).
Entradas de 1 bit y salida SUMA y ACARREO.

Ai
0
0
1
1

Bi
0
1
0
1

Ci+1
0
0
0
1

Si
0
1
1
0

C i 1 Ai Bi
S i Ai Bi
5.1.2. Sumador completo de 1 bit. Full Adder (FA).
Como el semisumador, pero adems con entrada de acarreo.

Ai
0
0
0
0
1
1
1
1

Bi
0
0
1
1
0
0
1
1

Ci
0
1
0
1
0
1
0
1

Ci+1
0
0
0
1
0
0
0
1

Si
0
1
1
0
0
1
1
0

C i 1 ( Ai Bi )C i Ai Bi que tambin se puede expresar como C i 1 ( Ai Bi )C i Ai Bi


S i Ai Bi C i
C i 1 S i indica, codificado en binario, el
resultado de la operacin y tambin el nmero de unos que hay en la terna de bits Ai , Bi y C .
Se puede observar que el nmero binario compuesto por

Ai
Bi
Ci

SUMADOR ELEMENTAL
O COMPLETO DE 1 BIT

FA

Si
Ci+1

Considerando que el semisumador es un bloque que realiza la operacin XOR de dos variables y la
operacin AND de las mismas variables, se puede construir un sumador completo de 1 bit a partir de dos
semisumadores y una puera segn la figura adjunta:
1

Ai Bi

Ai

SEMISUMADOR

Bi

Ci

Ci

SEMISUMADOR

Ai Bi

Ai Bi Ci Si
( Ai Bi ) Ci

PUERTA
OR

Ci+1

Restador de un bit. Se puede definir directamente la resta binario segn la siguiente tabla:

Mi

Si
0
0
1
1
0
0
1
1

0
0
0
0
1
1
1
1

Ci
0
1
0
1
0
1
0
1

Ri
0
1
1
0
1
0
0
1

Resultado

Ci+1
0
1
1
1
0
0
0
1

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

De igual forma se podra encontrar un sencillo circuito realizado con puertas para llevar a cabo esta
funcin elemental de resta.
5.1.3. Sumador paralelo con acarreo serie.
Usando n sumadores completos de 1 bis se construye un sumador completo de n bits.
An-1

Bn-1

Cn

A2

B2

A1

B1

A0

B0

Cn-1
C3

FA

Sn

FA

Sn-1

C2

S2

FA

C1

S1

FA

C0

S0

Si ts es el tiempo para realizar una suma y tc el tiempo para realizar un acarreo, resulta:

Dato en
Tiempo

S0
ts

C1
tc

S1
ts + tc

C2
2 tc

Sn-1
ts + (n-1) tc

Sn = Cn
n ts
2

Inconveniente: necesita que actun los anteriores sumadores para que pueda actuar uno en particular.
Se acumulan los retardos de propagacin.
5.1.4. Sumador de arrastre anticipado.
Los acarreos se generan en paralelo (simultneamente) con los resultados, evitando el problema
de propagacin serie de los sumadores vistos anteriormente. Por tanto, estos sumadores son ms rpidos
que los de acarreo serie.

S i Ai Bi C i

C i 1 ( Ai Bi ) C i Ai Bi Pi C i Gi
siendo Pi el llamado trmino Propagador y Gi el llamado trmino Generador, definidos por:

Pi Ai Bi y Gi Ai Bi
Particularizando la expresin C i 1 Pi C i Gi para i = 0, 1, 2, y 3 queda:

C1 P0 C 0 G0

C 2 P1 C1 G1 P1 ( P0 C 0 G0 ) G1 P1 P0 C 0 P1 G0 G1
C3 P2 P1 P0 C 0 P2 P1 G0 P2 G1 G2
C 4 P3 P2 P1 P0 C 0 P3 P2 P1 G0 P3 P2 G1 P3 G2 G3
Las salidas dependen de los datos de entradas y acarreos. Los acarreos dependen de los trminos
propagadores y generadores. Los trminos propagadores y generadores dependen slo de los datos de
entrada.
Por tanto, las salidas dependen slo de los datos de entrada y otros que se obtienen directamente de
stos, y todos se conocen desde el primer momento.

Sumador de arrastre anticipado

5.1.5. Sumador / Restador.


Si S/R=0 la operacin es una suma. Las puertas XOR dejan pasar el dato sin ms. Si S/R=1, las
puertas XOR invierte en dato de B, con lo que obtiene el complemento a 1, y, adems, introduce un 1 en el
acarreo C0 para tener el complemento a 2.
A3

A2

A1

A0

B3

B2

B1

B0

S/R
XOR

XOR

XOR

XOR
Si S/R = 0
Di = Bi

A3
C1

A2

A1

A0

D3

D2

D1

D0
Si S/R = 1
__
Di = Bi

SUMADOR COMPLETO DE 4 BITS

S4

S3

S2

S1

S0

C0

S3

S2

S1

S0

5.1.6. Sumador BCD.


A3

A2

A1

A0

B3

B2

B1

B0

SUMADOR COMPLETO DE 4 BITS


C1

P3

P2 P1

P0

C0

CIRCUITO
COMBINACIONAL
0
ACARREO
3

SUMADOR COMPLETO DE 4 BITS


S3

S2

S1

S0
5

El circuito combinacional detecta que la suma es superior a 9 y da una seal que sirve a la vez para:
1) Activar el acarreo posterior.
2) Restar 10 (o sumar 6, ya que los 4 bits menos significativos son los mismos) al nmero que d
como salida el sumador de 4 bits si la suma est entre 10 y 15, ambos incluidos, o sumar el nmero 6 a los 4
bits que salen del primer sumador si la suma est entre 16 y 19.
Puede parecer que es igual sumar 6 que restar 10. No, hay una diferencia de 16, pero si a un nmero
en binario se le suma 16 (10000), los 4 bits menos significativos del resultado son los mismos, igual que si en
decimal le sumamos a un nmero 10.000, las 4 ltimas cifras no cambian.
La salida de acarreo del segundo sumador completo de 4 bits es irrelevante.
El diseo de dicho circuito responde a la siguiente tabla de verdad:

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

31
cuya solucin es:

C1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1

P3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0

P2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1

P1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

P0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

ACARREO
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
X
X
X
X

ACARREO C1 P3 P1 P3 P2

Los casos comprendidos entre 20 y 31, ambos incluidos, no se darn nunca, ya que el mayor nmero
posible resulta de sumar 9 + 9 + 1 = 19, en el caso de sumar los mayores dgitos BCD y suponiendo entrada
de acarreo de una etapa anterior.

5.2. Multiplicador combinacional.


6

La multiplicacin aritmtica binaria coincide con el producto lgico. El resultado es 1 slo cuando
ambos operando son 1. El algoritmo de multiplicacin utilizado en base decimal es tambin aplicable a base
binaria. Ejemplo:

1 1 0 0 1
1 1 0 1 x

1 1 0 0 1
0 0 0 0 0
1 1 0 0 1
1 1 0 0 1

1 0 1 0 0 0 1 0 1

1 1 0 0 1
1 1 0 1 x

1 1 0 0 1
0 0 0 0 0
------------0 1 1 0 0 1
1 1 0 0 1
-------------1 1 1 1 1 0 1
1 1 0 0 1
---------------1 0 1 0 0 0 1 0 1

Sumas totales de 1 bit

Sumas parciales de 4 bits

25
13 x

75
25

325

Segn que las sumas parciales se realicen de golpe o por partes, hay dos circuitos que implementan
esta operacin: uno con sumadores completos de 1 bit y otro con sumadores completos de varios bits,
respectivamente.

Multiplicador haciendo sumas totales con 1 bit

Multiplicador haciendo sumas parciales de 4 bits

5.3. Mdulos Lgicos.


5.3.1. Comparadores.

a1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

a0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

b1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

b0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Z1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0

Z2
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1

Z3
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0

A>B

a1
a0

COMPARADOR

A=B
A<B

b1
b0

Z1
Z2
Z3

Compara dos nmeros y segn


cul sea mayor, o si son iguales,
activa una salida, dejando
desactivadas las otras dos

Se pueden hacer comparadores de nmeros binarios de 4 bits usando comparadores de 2 bits. Para
ello, hay que tener en cuenta que al comparar dos nmeros de 4 bits, los dos bits ms signoificativos
determinan cul de los dos nmeros es mayor, independientemente de los otros dos. Esto tambin ocurre en
base 10.
De la comparacin de dos nmeros de 4 bits se pueden obtener los siguientes casos:

A es mayor que B si los dos bits ms significativos de A son mayores que los dos bits ms
significativos de B, o, si siendo stos iguales, los dos bits menos significativos de A son mayores que
los dos bits menos significativos de B.
A es igual que B si los dos bits ms significativos de A son iguales que los dos bits ms significativos
de B, y, adems, los dos bits menos significativos de A son iguales que los dos bits menos
significativos de B.
A es menor que B si los dos bits ms significativos de A son menores que los dos bits ms
significativos de B, o, si siendo stos iguales, los dos bits menos significativos de A son menores que
los dos bits menos significativos de B.

Si llamamos Z1M, Z2M y Z3M a las salidas A>B, A=B y A<B, respectivamente, del comparador de los
bits ms significativos y Z1L, Z2L y Z3L a las salidas A>B, A=B y A<B, respectivamente, del comparador de los
bits menos significativos, las salidas Z1 (A>B), Z2 (A=B) y Z3 (A<B), se pueden expresar como:

Z1 Z1M Z 2 M Z1L
Z 2 Z 2M Z 2 L

Z 3 Z 3M Z 2 M Z 3L

Un comparador de 4 bits con comparadores de 2 bits se puede construir de la siguiente forma:

a3
a2

A>B

Z1M
COMPARADOR
DE
Z2M
NMEROS
DE 2 BITS
Z3M

b3
b2
a1
a0

A=B
Z1L
COMPARADOR
DE
Z2L
NMEROS
DE 2 BITS
Z3L

A<B

b1
b0
Comparador de 4 bits con dos comparadores de 2 bits
Los circuitos integrados comparadores pueden tener entradas >, =, < que transmiten el resultado de
la entrada a la salida cuando las palabras de bits a comparar son iguales. Esto se utiliza para realizar
comparaciones de un gran nmero de bits a partir de comparadores ms pequeos, colocndolos en cascada.
5.3.2. Detectores y generadores de paridad.
Generador de paridad.

0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

X3
0
1
0
1
0
1
0
1

P
0
1
1
0
1
0
0
1

P x1 x 2 x3

I
1
0
0
1
0
1
1
0

x1
x2
x3

GENERADOR DE
PARIDAD PAR

x1
x2
x3

GENERADOR DE
PARIDAD IMPAR

I x1 x 2 x3

10

Los bits de paridad constituyen una informacin redundante que sirve para detectar errores en 1 bit.
Si el bit de paridad es el correcto, no ha habido error. Si algn bit se cambia de valor, el bit de paridad da
resultado incorrecto, ha habido un error, aunque no se sabe en qu bit.
Sin embargo, la comprobacin de paridad no detecta error si se cambian dos bits. Si el bit errneo es
el propio bit de paridad, sin que haya error en el resto de los bits, detecta error cuando en realidad no lo ha
habido.

Detector de paridad.

x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

x1
x2
x3

x3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

P
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1

I
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0

GENERADOR DE
PARIDAD
DESCONOCIDA

x4

x1
x2
x3

P x1 x 2 x3 x 4

DETECTOR DE
PARIDAD
I

I x1 x 2 x3 x 4

5.3.3. Conversores de cdigos.


a1
a2
.
.
.
an

CONVERSOR
DE CDIGO

b1
b2
.
.
.
.
bm
11

Ejemplo: veamos un conversor de BCD a display de 7 segmentos


A

CONVERSOR
DE CDIGO

BCD

D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

C
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

a
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0

SEGMENTOS
D

A DISPLAY DE
C

c
d

b
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0

c
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0

d
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0

e
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0

f
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0

g
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0

Se puede hacer un conversor de cdigo usando una pareja de mdulos: Decodificador y Codificador.
Los cdigos pueden tener distinto nmero de bits.
Ejemplo: convertir el cdigo A en el cdigo B segn la tabla adjunta:

Cdigo A

Cdigo B

X1
0
0
1
1

Y1
0
1
1
0

X0
0
1
0
1

YO
1
0
1
0

X0

X1

DEC
2x4

0
1
2
3

0
1
2
3

COD
4x2

Y0

Y1

12

Puede ocurrir que los dos cdigos no tengan el mismo nmero de bits. Lo vemos en este otro ejemplo:
convertir el cdigo A en el cdigo B segn la tabla adjunta:

Cdigo A
X1
0
0
1
1

X0
0
1
0
1

Cdigo B
S3
0
0
0
1

S2
0
0
1
1

S1
0
1
0
1

SO
1
0
1
0

X0

DEC
2x4
X1

0
1
2
3

0
0
1
2
3 COD
4 16x4
5
.
.
1
14
15

Y0

Y1

Hay circuitos integrados que realizan conversiones de cdigos BCD binario y viceversa. Ejemplo: el
circuito integrado 74184 convierte 6 bits BCD ( 4 de menos peso y 2 de ms peso, es decir, el mayor nmero
que se puede representar es el 39) en binario de 6 bits. Por ejemplo, 110011, que representara al 33, lo
convierte a 33 en binario, que es 100001. Por el contrario, el circuito 74185 convierte un nmero binario de 6
bits en dos BCD (con 8 bits); por ejemplo, el nmero 50, que en binario sera 110010, lo expresa como 0101
0000.
Otro ejemplo de conversor de cdigo es un conversor de 4 bits (siendo G 3 y B3 los bits ms
significativos de los cdigos Gray y binario, respectivamente) que cambia un cdigo binario puro en Gray y
viceversa. Se rige por las siguientes ecuaciones:

G 3 B3
G 2 B3 B2

G1 B2 B1
G0 B1 B0

B3 G3
B2 G3 G2 B3 G2
B1 B2 G1 G3 G 2 G1
B0 B1 G0 G3 G 2 G1 G0

5.4. Unidad Aritmtica-Lgica combinacional elemental.


13

Se trata de disear una ALU con las siguientes caractersticas: Datos de 4 bits, A y B, 4 lneas de
seleccin S3 hasta S0 para controlar la operacin de la siguiente forma
S3=0 (LGICA)
S2 S1

Operacin

0
0
1
1

A and B
A or B
NOT A
A xor B

0
1
0
1

S3=1 (ARITMTICA)
S2

S1

S0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

Operacin
A
A
A
A
A
A
A
A

+ B
+ B + 1
- 1
(sumando 1111+1)
(sumando 0000+0)
+ 1
- B 1
B

Diagrama de bloques

14

15

16

Se puede observar que C 0 S 0 . Qu hay que sumarle a A en funcin de S2 y S1?

b3
S2
S1

b2

b1

b0

BLOQUE
B
d3

d2

d1

d0

La operacin a realizar por el Bloque B segn las seales de control S2 y S1 es:


S2
0
0
1
1

S1
0
1
0
1

SUMAR

1111
0000
B

que, desarrolada, se puede expresar como:


S2

S1

bi

di

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
1
1
0
0
1
0

en donde la funcin booleana d i puede expresarse en funcin de las variables S 2 , S1 y bi de la forma


d i S 2 bi S1 bi

17

You might also like