1 Subsistemas aritméticos y lógicos1
2 ¿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 2
3 Sumador Binario
4 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 S = A B Propagación (Pi) C = A · B Generación (Gi)
5 Sumador Completo (Full Adder)Funcionamiento similar al semisumador añadiendo el acarreo de entrada Ai Bi Ci Ci+1 Si Si = Ai Bi Ci = Pi Ci Ci+1 = (Ai + Bi) Ci + (Ai Bi) =(Ai Bi) Ci + (Ai Bi) = Pi Ci + Gi 5
6 Sumador completo Podemos diseñarlo a partir de dos semisumadores
7 Sumador Completo ¿Cuál será el camino crítico? semisumador 7
8 Sumador Completo tpo. retardo por puerta = 5 ns camino críticoLa 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 camino crítico semisumador semisumador 8
9 Sumador paralelo con acarreo serieFA A0 B0 S0 C0 A1 B1 S1 C1 A2 B2 S2 C2 An-1 Bn-1 Sn-1 Cn-1 Cn Sn C3 … 9
10 Sumador paralelo con acarreo serieCada 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 Sn = Cn Tiempo ts tc ts + tc 2 tc ……… ts + (n-1) tc n tc
11 Sumador con acarreo anticipadoLos 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 Bi Todos los términos se calculan en paralelo desde el primer momento Gi = Ai Bi 11
12 Sumador con acarreo anticipadoCá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 C3 = P2 C2 + G2 = P2P1P0C0 + P2P1G0 + P2G1 + G2 C4 = P3 C3 + G3 = P3P21P0C0+P3P2P1G0+P3P2G1+P3G2+G3 Si = Pi Ci 12
13 Sumador con acarreo anticipado1.- Propagación y Generación t 3.- Sumas t 2t 2.- Acarreos 13
14 Sumadores de 4 bits
15 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 S S3 S2 S1 S0 Complementador a 2 15
16 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 Puede haber otros códigos BCD con otra relación de ponderación o, incluso, no ponderados
17 Otros códigos BCD autocomplementariosDecimal Código BCD Código BCD exceso3 Código BCD Aiken Ponderado No Ponderado Ponderado
18 Sumador BCD Suma números codificados en BCD, y genera otro BCDSi el resultado es > 10 es necesario corregir restando 10 A3 A2 A1 A0 B3 B2 B1 B0 sumador corrección Z Z3 Z2 Z1 Z0 corregir? corregir = 0 “0000” corregir = 1 “0110” últimos 4 bits de +6 = últimos 4 bits de -10 sumador S S3 S2 S1 S0 18
19 Multiplicadores combinacionales
20 Multiplicadores La multiplicación aritmética coincide con el producto lógico FA FA FA FA FA FA
21 Módulos lógicos
22 Comparadores Comparador de 1 bit Comparador de 2 bits A0>B0 A0=B0A1>B1 ó (A1=B1 y A0>B0) A1=B1 y A0=B0 A1
23 Comparador de 4 bits D An
24 Comparadores Comparan dos números en binario, activando únicamente la salida que corresponda
25 Comparador 7485(comparador de 4 bits)
26 Comparador Diseño de un comparador de 8 bits a partir de dos 7485
27 Generador de paridad Paridad par: Número par de unos, incluyendo PParidad impar: Número impar de unos, incluyendo I Para 3 variables Para 3 variables Para 4 variables Para 4 variables
28 Conversores de código Pueden haber conversores para cualquier pareja de códigos Se pueden construir con un codificador y un decodificador Ejemplo:
29 Conversores de código Conversor de un número en BCD de 6 bits (hasta 39) a binario 1 F E D C B A X5 X4 X3 X2 X1 X0 74184 21
30 Diseño de una ALU elemental
31 Diseño de una ALU elementalTrataremos 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 4 A B S3 S2 S1 S0 5 F
32 Diseño de una ALU elementalOperaciones:
33 Diseño de una ALU elementalDiagrama de bloques de la ALU
34 Diseño de una ALU elementalParte lógica, para cada bit 4 MUX 4x1 S2 S1 1 2 3 F and or not xor A B 4 4 4 4 4 4 4 4 4 4 4 1
35 Diseño de una ALU elementalParte 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 B 1 1111 0000 B’
36 Sumador completo 4bits S2 BLOQUE S1 B S0 b3 d3 b0 b2 b1 d0 d1 d2 a3 a0f4 f3 f2 f1 f0
37 S2 S1 di bi 1 b'i Bloque B S1bi S2 S1 bi di S2 00 01 11 10 1 1 Para i desde 0 hasta 3
38 BLOQUE B S2 S1 b3 d3 b0 b2 b1 d0 d1 d2 Bloque B
39 ALU 74LS181
40 Hemos aprendido…. Diseño de Sumadores BinariosSemisumadores 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
41 Final del tema 11 41