Download - Subsistemas aritméticos y lógicos
![Page 1: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/1.jpg)
Subsistemas aritméticos y lógicos
Tema 8
![Page 2: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/2.jpg)
¿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
![Page 3: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/3.jpg)
Sumador Binario
![Page 4: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/4.jpg)
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 00 1 0 11 0 0 11 1 1 0
S = A B Propagación (Pi)
C = A · B Generación (Gi)
![Page 5: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/5.jpg)
Sumador Completo (Full Adder)
Funcionamiento similar al semisumador añadiendo el acarreo de entrada
Ai Bi Ci Ci+1 Si
0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1
Si = Ai Bi Ci
= Pi Ci
Ci+1 = (Ai + Bi) Ci + (Ai Bi) =(Ai Bi) Ci + (Ai Bi) = Pi Ci + Gi
![Page 6: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/6.jpg)
Sumador completo
Podemos diseñarlo a partir de dos semisumadores
![Page 7: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/7.jpg)
Sumador Completo
¿Cuál será el camino crítico?
semisumador semisumador
![Page 8: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/8.jpg)
Sumador Completo
camino crítico
tpo. retardo por puerta = 5 ns
semisumador semisumador
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 respecto a las entradas A y B y sólo 10 ns respecto a la entrada C
![Page 9: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/9.jpg)
Sumador paralelo con acarreo serie
FA
A0 B0
S0
C0
FA
A1 B1
S1
C1
FA
A2 B2
S2
C2
FA
An-1 Bn-1
Sn-1
Cn-1
Cn
Sn
C3
…
![Page 10: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/10.jpg)
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
![Page 11: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/11.jpg)
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
Pi = Ai BiGi = Ai Bi
Todos los términos se calculan en paralelo desde el primer momento
![Page 12: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/12.jpg)
Sumador con acarreo anticipado Cálculo del acarreo
– desarrollando la fórmula iterativa Ci+1 = Pi Ci + Gi todos los acarreos dependen de propagaciones, generaciones y acarreo inicial
– cualquier función booleana puede expresarse con lógica de 2 niveles de puertas
Cálculo de las sumas
C1 = P0 C0 + G0 C2 = P1 C1 + G1 = P1 (P0 C0 + G0) + G1 = P1P0C0 + P1G0 + G1C3 = P2 C2 + G2 = P2P1P0C0 + P2P1G0 + P2G1 + G2C4 = P3 C3 + G3 = P3P21P0C0+P3P2P1G0+P3P2G1+P3G2+G3
Si = Pi Ci
![Page 13: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/13.jpg)
Sumador con acarreo anticipado1.- Propagación yGeneración
3.- Sumas
2.- Acarreos
t
t
2t
![Page 14: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/14.jpg)
Sumadores de 4 bits
![Page 15: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/15.jpg)
Sumador / Restador
A3 A2 A1 A0 B3 B2 B1 B0
S4 S3 S2 S1 S0
S/R
S/R = 0 suma
S/R = 1 resta
sumador
Complementador a 2
El uso del complemento a 2 permite realizar sumas y restas con un sumador y un poco de lógica adicional
![Page 16: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/16.jpg)
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
![Page 17: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/17.jpg)
Otros códigos BCDDecimal 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
autocomplementarios
Ponderado 8 4 2 1 Ponderado 2 4 2 1No Ponderado
![Page 18: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/18.jpg)
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
S4 S3 S2 S1 S0
sumadorcorrección
sumador
corregir?
0corregir = 0 “0000”corregir = 1 “0110”
últimos 4 bits de +6 = últimos 4 bits de -10
Z4 Z3 Z2 Z1 Z0
![Page 19: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/19.jpg)
Multiplicadores combinacionales
![Page 20: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/20.jpg)
Multiplicadores
La multiplicación aritmética coincide con el producto lógico
FA FA FA
FA FA FA
![Page 21: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/21.jpg)
Módulos lógicos
![Page 22: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/22.jpg)
Comparadores Comparador de 1 bit
Comparador de 2 bits
A0>B0
A0=B0
A0<B0
A1>B1 ó (A1=B1 y A0>B0)
A1=B1 y A0=B0
A1<B1 ó (A1=B1 y A0<B0)
![Page 23: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/23.jpg)
DAn<Bn
Comparador de 4 bits
222 BAE
333 BAE
000 BAE
111 BAE
![Page 24: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/24.jpg)
Comparadores
Comparan dos números en binario, activando únicamente la salida que corresponda
![Page 25: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/25.jpg)
Comparador
7485(comparador de 4 bits)
![Page 26: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/26.jpg)
Comparador
Diseño de un comparador de 8 bits a partir de dos 7485
![Page 27: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/27.jpg)
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
4321 xxxxP 4321 xxxxI
![Page 28: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/28.jpg)
Conversores de código
Pueden haber conversores para cualquier pareja de códigos Se pueden construir con un codificador y un decodificador Ejemplo:
![Page 29: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/29.jpg)
Conversores de código
74184. Conversor de un número en BCD de 6 bits (hasta 39) a binario
1 0 10 0 0
F E D C B A
X5 X4 X3 X2 X1 X0
74184
21
111 000
![Page 30: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/30.jpg)
Diseño de una ALU elemental
![Page 31: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/31.jpg)
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
ALU
4A
4B
S3 S2 S1 S0
5 F
![Page 32: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/32.jpg)
Diseño de una ALU elemental
Operaciones:
S2 S1 Operación S2 S1 S0 Operación0 0 A and B 0 0 0 A+B0 1 A or B 0 0 1 A+B+11 0 NOT A 0 1 0 A-11 1 A xor B 0 1 1 A+1111+1
1 0 0 A1 0 1 A+11 1 0 A-B-11 1 1 A-B
S3 = 0 LÓGICA S3 = 1 ARITMÉTICA
![Page 33: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/33.jpg)
Diseño de una ALU elemental
Diagrama de bloques de la ALU
![Page 34: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/34.jpg)
Diseño de una ALU elemental
Parte lógica, para cada bit
MUX4x1
S2 S1
0
1
2
3
F
and
or
not
xor
AB
AB
AB
A
01
4
4
4
4
4
4
4 4
4
4
4
4
![Page 35: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/35.jpg)
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 D0 0 B
0 1 1111
1 0 0000
1 1 B’
![Page 36: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/36.jpg)
BLOQUE B
S2
S1
b3
d3
b0b2 b1
d0d1d2
Sumador completo4bits
a3 a0a2 a1
f3 f0f1f2f4
S0
![Page 37: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/37.jpg)
Bloque B
S2 S1 bi di
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
0
00 0
1 1 1
1
iii bSbSd ·· 12 Para i desde 0 hasta 3
S2S1bi
0
1
00 01 11 10
S2 S1 di0 0 bi
0 1 1
1 0 0
1 1 b'i
![Page 38: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/38.jpg)
Bloque BBLOQUE
B
S2
S1
b3
d3
b0b2 b1
d0d1d2
![Page 39: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/39.jpg)
ALU 74LS181
![Page 40: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/40.jpg)
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
![Page 41: Subsistemas aritméticos y lógicos](https://reader033.vdocuments.pub/reader033/viewer/2022061602/56815d70550346895dcb776d/html5/thumbnails/41.jpg)
Final del tema 8