sistemas aritméticos y lógicos - esi.uclm.es · – sumador con acarreo anticipado
TRANSCRIPT
![Page 1: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/1.jpg)
Subsistemas aritméticos y lógicos
Tema 8
![Page 2: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/3.jpg)
Sumador Binario
![Page 4: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/6.jpg)
Sumador completo
■ Podemos diseñarlo a partir de dos semisumadores
![Page 7: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/7.jpg)
Sumador Completo
■ ¿Cuál será el camino crítico?
semisumador semisumador
![Page 8: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/8.jpg)
Sumador Completo
camino crítico
tpo. retardo por puerta = 5 ns
semisumador semisumador
Ai
Bi
Ci
Si
Ci+1
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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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 + G1....
Si = Pi ⊕ Ci
![Page 13: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/13.jpg)
Sumador con acarreo anticipado1.- Propagación yGeneración
3.- Sumas
2.- Acarreos
t
t
2t
![Page 14: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/14.jpg)
Sumadores de 4 bits
![Page 15: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/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: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/19.jpg)
Multiplicadores combinacionales
![Page 20: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/20.jpg)
Multiplicadores
■ La multiplicación aritmética coincide con el producto lógico
FA FA FA
FA FA FA
![Page 21: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/21.jpg)
Módulos lógicos
![Page 22: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/22.jpg)
Comparadores
■ Comparan dos números en binario, activando únicamente la salida que corresponda
![Page 23: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/23.jpg)
Comparador
■ 7485(comparador de 4 bits)
![Page 24: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/24.jpg)
Comparador
■ Diseño de un comparador de 8 bits a partir de dos 7485
![Page 25: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/25.jpg)
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
Para 4 variables Para 4 variables
4321 xxxxP ⊕⊕⊕= 4321 xxxxI ⊕⊕⊕=
![Page 26: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/26.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 27: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/27.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 28: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/28.jpg)
Diseño de una ALU elemental
![Page 29: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/29.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 30: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/30.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 31: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/31.jpg)
Diseño de una ALU elemental
■ Diagrama de bloques de la ALU
![Page 32: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/32.jpg)
Diseño de una ALU elemental
■ Parte lógica:
MUX4x1
S2 S1
0
1
2
3
F
and
or
not
xor
AB
AB
AB
A
![Page 33: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/33.jpg)
Diseño de una ALU elemental
■ Parte aritmética:
BLOQUE B
S2
S1
b3
d3
b0b2 b1
d0d1d2
B’11
000001
111110
B00
SUMARS1S2
C0 = S0
![Page 34: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/34.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
![Page 35: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/35.jpg)
Bloque B
![Page 36: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/36.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 37: Sistemas aritméticos y lógicos - esi.uclm.es · – Sumador con acarreo anticipado](https://reader031.vdocuments.pub/reader031/viewer/2022020100/5babff5309d3f22f738cbc76/html5/thumbnails/37.jpg)
Final del tema 8