You are on page 1of 35

Subsistemas aritméticos y lógicos

Tema 8
¿Qué sabrás al final del capítulo?
 Diseño de Sumadores Binarios
– Semisumadores
– Sumador completo
– Sumador con acarreo serie
– Sumador con acarreo anticipado
– Sumador / Restador
 Diseño de Multiplicadores aritméticos
 Funcionamiento de los módulos lógicos
– Comparadores
– Generadores y detectores de paridad
– Conversores de códigos
 Diseño de una unidad aritmético-lógica elemental
Sumador Binario
Semisumador (Half Adder)
 La operación de suma aritmética tiene como
resultado suma y acarreo
– No podemos propagar acarreos con semisumadores

A B C S

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

S=AB Propagación (Pi)


C=A·B Generación (Gi)
Sumador Completo (Full Adder)
 Funcionamiento similar al semisumador añadiendo
el acarreo de entrada

Ai Bi Ci Ci+1 Si
Si = Ai  Bi  Ci
0 0 0 0 0
0 0 1 0 1 = Pi  Ci
0 1 0 0 1
0 1 1 1 0 Ci+1 = (Ai + Bi) Ci + (Ai Bi)
1 0 0 0 1
1 0 1 1 0 =(Ai  Bi) Ci + (Ai Bi)
1 1 0 1 0 = Pi Ci + Gi
1 1 1 1 1
Sumador completo
 Podemos diseñarlo a partir de dos semisumadores
Sumador Completo
 ¿Cuál será el camino crítico?

semisumador semisumador
Sumador Completo
tpo. retardo por puerta = 5 ns
La salida Si llega 10 ns de retardo
respecto a las entradas A y B y sólo 5
ns respecto a la entrada C

La salida Ci+1 llega 15 ns de retardo


camino crítico respecto a las entradas A y B y sólo
10 ns respecto a la entrada C
semisumador semisumador
Sumador paralelo con acarreo serie
An-1 Bn-1 A2 B2 A1 B1 A0 B0

Cn
Cn-1 C3 C2 C1 C0
FA … FA FA FA

Sn
Sn-1 S2 S1 S0
Sumador paralelo con acarreo serie

 Cada sumador completo realiza una suma


 Genera un acarreo que se le transmite al sumador
siguiente
 Los tiempos se van acumulando
 Si ts es el tiempo para realizar una suma y tc el
tiempo para realizar un acarreo, resulta:
 Dato en S0 C1 S1 C2 ……… Sn-1 Sn = Cn
Tiempo ts tc ts + tc 2 tc ……… ts + (n-1) tc n tc
Sumadores de 4 bits
Sumador / Restador
 El uso del complemento a 2 permite realizar sumas y restas
con un sumador y un poco de lógica adicional
A3 A2 A1 A0 B3 B2 B1 B0

S/R

S/R = 0  suma
S/R = 1  resta

sumador

S4 S3 S2 S1 S0 Complementador a 2
Multiplicadores combinacionales
Multiplicadores
 La multiplicación aritmética coincide con el producto
lógico

FA FA FA

FA FA FA
Módulos lógicos
Comparadores
 Comparador de 1 bit
A0>B0

A0=B0

A0<B0

 Comparador de 2 bits
A1>B1 ó (A1=B1 y A0>B0)

A1=B1 y A0=B0

A1<B1 ó (A1=B1 y A0<B0)


 Comparador de 4 bits

E3  A3  B3

E2  A2  B2

E1  A1  B1

E0  A0  B0
D
An<Bn
Comparadores
 Comparan dos números en binario, activando
únicamente la salida que corresponda
Comparador
 7485(comparador de 4 bits)
Comparador
 Diseño de un comparador de 8 bits a partir de dos 7485
Generador de paridad
 Paridad par: Número par de unos, incluyendo P
 Paridad impar: Número impar de unos, incluyendo I
Para 3 variables Para 3 variables

Para 4 variables Para 4 variables


P  x1  x2  x3  x4 I  x1  x2  x3  x4
Conversores de código
 Pueden haber conversores para cualquier pareja de códigos
 Se pueden construir con un codificador y un decodificador
 Ejemplo:
Conversores de código
 74184. Conversor de un número en BCD de
6 bits (hasta 39) a binario
21
1 0 0 0 0 1

F E D C B A
74184
X5 X4 X3 X2 X1 X0

0 1 0 1 0 1
Diseño de una ALU elemental
Diseño de una ALU elemental
 Trataremos de diseñar una unidad aritmético-lógica
sencilla
 Características:
– Datos de entrada: A y B de 4 bits
– 4 líneas de selección (hasta 16 operaciones diferentes)
– Operaciones lógicas y aritméticas

4
A
5
ALU F
4
B

S3 S2 S1 S0
Diseño de una ALU elemental
 Operaciones:
S3 = 0 LÓGICA S3 = 1 ARITMÉTICA
S2 S1 Operación S2 S1 S0 Operación
0 0 A and B 0 0 0 A+B
0 1 A or B 0 0 1 A+B+1
1 0 NOT A 0 1 0 A-1
1 1 A xor B 0 1 1 A+1111+1
1 0 0 A
1 0 1 A+1
1 1 0 A-B-1
1 1 1 A-B
Diseño de una ALU elemental
 Diagrama de bloques de la ALU
Diseño de una ALU elemental
 Parte lógica, para cada bit
4
A 4 and 4
B 0
4
A or
4
4 1
B MUX 4
F
4 4
4x1
A not 2
4
A xor
4
3
4
B 1 0

S2 S1
Diseño de una ALU elemental
 Parte aritmética:

A+B+S0=A+D+S0

A+1111c2+S0=A+D+S0

A+S0=A+D+S0

A+B’+S0=A+D+S0

S2 S1 D
0 0 B
0 1 1111
1 0 0000
1 1 B’
b3 b2 b1 b0

S2
BLOQUE
B
a3 a2 a1 a0 S1

d3 d2 d1 d0

S0
Sumador completo
4bits

f4 f3 f2 f1 f0
S2 S1 di
0 0 bi
0 1 1
Bloque B 1 0 0
1 1 b'i

S1bi
S2 S1 bi di S2 00 01 11 10

0 0 0 0
0 0 1 1 1
0 0 1 1
0 1 0 1
1 0 0 0 1
0 1 1 1
1 0 0 0
1 0 1 0 di  S2 ·bi  S1·bi
1 1 0 1
Para i desde 0 hasta 3
1 1 1 0
b3 b2 b1 b0

S2
BLOQUE
B
S1
Bloque B
d3 d2 d1 d0
 ALU 74LS181
Hemos aprendido….
 Diseño de Sumadores Binarios
– Semisumadores
– Sumador completo
– Sumador con acarreo serie
– Sumador con acarreo anticipado
– Sumador/Restador
– Sumador BCD
 Diseñar Multiplicadores aritméticos
 Funcionamiento de los módulos lógicos
– Comparadores
– Generadores y detectores de paridad
– Conversores de códigos
 Diseñar una Unidad Aritmético-Lógica elemental
Final del tema 8

You might also like