Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema8a PDF
Tema8a PDF
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
– Sumador BCD
■ 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
Ai Bi Ci Ci+1 Si
S i = A i ⊕ B i ⊕ Ci
0 0 0 0 0
0 0 1 0 1 = P i ⊕ 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 = P i Ci + G i
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
Ai
Bi
Ci
Si
Ci+1
Sumador paralelo con acarreo serie
An-1 Bn-1 A 2 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
Sumador con acarreo anticipado
■ Los acarreos se evalúan anticipadamente con lógica de 2
niveles de puertas
■ Las sumas se realizan posteriormente en paralelo
■ En primer lugar se obtienen los términos de generación y
propagación
t 3.- Sumas
2t
2.- Acarreos
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
Código BCD
■ El código BCD es un código de 4 bits que representa
los 10 dígitos decimales como si fueran binarios
naturales
■ Cada dígito decimal se sustituye por sus cuatro bits
■ El código BCD, al igual que el binario, es un código
ponderado de pesos 8 4 2 1
■ Puede haber otros códigos BCD con otra relación de
ponderación o, incluso, no ponderados
autocomplementarios
Otros códigos BCD
Decimal Código BCD Código BCD exceso3 Código BCD Aiken
0 0000 0011 0000
1 0001 0100 0001
2 0010 0101 0010
3 0011 0110 0011
4 0100 0111 0100
5 0101 1000 1011
6 0110 1001 1100
7 0111 1010 1101
8 1000 1011 1110
9 1001 1100 1111
Ponderado 8 4 2 1 No Ponderado Ponderado 2 4 2 1
Sumador BCD
■ Suma números codificados en BCD, y genera otro BCD
■ Si el resultado es > 10 es necesario corregir restando 10
A3 A2 A1 A0 B3 B2 B1 B0
sumador
corrección
Z4 Z3 Z2 Z1 Z0
corregir?
corregir = 0 “0000”
0 corregir = 1 “0110”
últimos 4 bits de +6 =
sumador últimos 4 bits de -10
S4 S3 S2 S1 S0
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
■ 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
■ La suma (descartando acarreos) de un número par
de unos siempre es 0
■ La suma (descartando acarreos) de un número
impar de unos siempre es 1
Para 3 variables Para 3 variables
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:
A and
B 0
A or MUX
1
B 4x1 F
A not 2
A xor 3
B
S2 S1
Diseño de una ALU elemental
■ Parte aritmética:
b3 b2 b1 b0
S2 BLOQUE
B
S1
C0 = S0
d3 d2 d1 d0
S2 S1 SUMAR
0 0 B
0 1 1111
1 0 0000
1 1 B’
Bloque B
S1bi
S2 S1 bi di S2 00 01 11 10
0 0 0 0 0 0 1 1 1
0 0 1 1
1 0 0 0 1
0 1 0 1
0 1 1 1
d i = S 2 ·bi + S1 ·bi
Para i desde 0 hasta 3
1 0 0 0
1 0 1 0
1 1 0 1
Bloque B
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