sistemas aritméticos y lógicos - blog...

35
Subsistemas aritméticos y lógicos Tema 10

Upload: others

Post on 10-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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

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

¿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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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