sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿qué sabrás al final del capítulo? diseño...

37
Subsistemas aritméticos y lógicos Tema 8

Upload: truongtu

Post on 02-Feb-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Subsistemas aritméticos y lógicos

Tema 8

Page 2: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

¿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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Sumador Binario

Page 4: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Sumador completo

■ Podemos diseñarlo a partir de dos semisumadores

Page 7: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Sumador Completo

■ ¿Cuál será el camino crítico?

semisumador semisumador

Page 8: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Sumador con acarreo anticipado1.- Propagación yGeneración

3.- Sumas

2.- Acarreos

t

t

2t

Page 14: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Sumadores de 4 bits

Page 15: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Multiplicadores combinacionales

Page 20: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Módulos lógicos

Page 22: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Comparadores

■ Comparan dos números en binario, activando únicamente la salida que corresponda

Page 23: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Comparador

■ 7485(comparador de 4 bits)

Page 24: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Comparador

■ Diseño de un comparador de 8 bits a partir de dos 7485

Page 25: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Diseño de una ALU elemental

Page 29: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Diseño de una ALU elemental

■ Diagrama de bloques de la ALU

Page 32: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Bloque B

Page 36: Sistemas aritméticos y lógicos - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

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 - inf-cr.uclm.es · ¿Qué sabrás al final del capítulo? Diseño de Sumadores Binarios – Semisumadores – Sumador completo – Sumador con acarreo

Final del tema 8