Sistemas aritméticos y lógicos - Blog...
Transcript of Sistemas aritméticos y lógicos - Blog...
![Page 1: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/1.jpg)
Subsistemas aritméticos
y lógicos
Tema 10
![Page 2: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/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 / 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: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/3.jpg)
Sumador Binario
![Page 4: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/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 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)
![Page 5: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/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 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 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: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/6.jpg)
Sumador completo
Podemos diseñarlo a partir de dos semisumadores
![Page 7: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/7.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 8: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/8.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 9: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/9.jpg)
Sumadores de 4 bits
![Page 10: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/10.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 11: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/11.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 12: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/12.jpg)
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
autocomplementarios
Ponderado 8 4 2 1 Ponderado 2 4 2 1No Ponderado
![Page 13: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/13.jpg)
Sumador BCD
Suma números codificados en BCD, y genera otro BCD
Si el resultado es > 10 es necesario corregir restando 10A3 A2 A1 A0 B3 B2 B1 B0
S4 S3 S2 S1 S0
sumadorcorrección
sumador
corregir?
0
corregir = 0 “0000”
corregir = 1 “0110”
últimos 4 bits de +6 = últimos 4 bits de -10
Z4 Z3 Z2 Z1 Z0
![Page 14: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/14.jpg)
Multiplicadores combinacionales
![Page 15: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/15.jpg)
Multiplicadores
La multiplicación aritmética coincide con el producto
lógico
FA FA FA
FA FA FA
![Page 16: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/16.jpg)
Módulos lógicos
![Page 17: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/17.jpg)
Comparadores
Comparan dos números en binario, activando
únicamente la salida que corresponda
![Page 18: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/18.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 19: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/19.jpg)
Comparador de 4 bits
222 BAE
333 BAE
000 BAE
111 BAE
D
An<Bn
![Page 20: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/20.jpg)
Comparador integrado (7485)
7485(comparador de 4 bits)
![Page 21: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/21.jpg)
Comparador
Diseño de un comparador de 8 bits a partir de dos 7485
![Page 22: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/22.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 variablesPara 4 variables
4321 xxxxP4321 xxxxI
![Page 23: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/23.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 24: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/24.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 25: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/25.jpg)
Diseño de una ALU elemental
![Page 26: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/26.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
5F
![Page 27: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/27.jpg)
Diseño de una ALU elemental
Operaciones:
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
S3 = 0 LÓGICA S3 = 1 ARITMÉTICA
![Page 28: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/28.jpg)
Diseño de una ALU elemental
Diagrama de bloques de la ALU
![Page 29: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/29.jpg)
Diseño de una ALU elemental
Parte lógica, para cada bit
MUX
4x1
S2 S1
0
1
2
3
F
and
or
not
xor
A
B
A
B
A
B
A
01
4
4
4
4
4
4
4 4
4
4
4
4
![Page 30: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/30.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 D
0 0 B
0 1 1111
1 0 0000
1 1 B’
![Page 31: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/31.jpg)
BLOQUE
B
S2
S1
b3
d3
b0b2 b1
d0d1d2
Sumador completo
4bits
a3 a0a2 a1
f3 f0f1f2f4
S0
![Page 32: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/32.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
S2
S1bi
0
1
00 01 11 10
S2 S1 di
0 0 bi
0 1 1
1 0 0
1 1 b'i
![Page 33: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/33.jpg)
Bloque B
BLOQUE
B
S2
S1
b3
d3
b0b2 b1
d0d1d2
![Page 34: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/34.jpg)
ALU 74LS181
![Page 35: Sistemas aritméticos y lógicos - Blog UCLMblog.uclm.es/inocentesanchez/files/2018/07/tema10.pdfDiseño de un comparador de 8 bits a partir de dos 7485 Generador de paridad Paridad](https://reader033.fdocuments.net/reader033/viewer/2022041913/5e684e80ec0b657bc071676d/html5/thumbnails/35.jpg)
Hemos aprendido….
Diseño de Sumadores Binarios
– Semisumadores
– Sumador completo
– Sumador con acarreo serie
– 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