aritmética binaria electrónica digital

41
Aritmética Binaria Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC

Upload: dolores-soto

Post on 03-Jan-2016

62 views

Category:

Documents


0 download

DESCRIPTION

Electrónica Básica. Aritmética Binaria Electrónica Digital. José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC. ARITMÉTICA BINARIA. Operaciones en el sistema Binario Natural Suma Binaria Resta Binaria Unidad Aritmética Lógica (ALU) Operaciones en BCD Natural - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Aritmética Binaria Electrónica Digital

Aritmética Binaria

Electrónica Digital

Electrónica Básica

José Ramón Sendra SendraDpto. de Ingeniería Electrónica y AutomáticaULPGC

Page 2: Aritmética Binaria Electrónica Digital

ARITMÉTICA BINARIA

Operaciones en el sistema Binario Natural

Suma BinariaResta BinariaUnidad Aritmética Lógica (ALU)

Operaciones en BCD Natural

Suma en BCDResta en BCD

Page 3: Aritmética Binaria Electrónica Digital

ARITMÉTICA BINARIA

Operaciones en el sistema Binario Natural

Suma Binaria

Sumador sin acarreo o Half Adder (HA)Sumador con acarreo o Full Adder (FA)Sumador paralelo con acarreo serieSumador paralelo con acarreo paraleloSumador serie

Resta Binaria

Representación de los números negativosOperaciones en Complemento a 1Operaciones en Complemento a 2Desbordamientos (Overflow)Circuito complementador 74487Comparadores binarios en magnitud

Unidad Aritmética Lógica (ALU)

Page 4: Aritmética Binaria Electrónica Digital

SUMA BINARIA

Sumador sin acarreo o Half Adder

Ai 0 0 1 1

Bi 0 1 0 1

Suma 0 1 1 0

Ac. 0 0 0 1

AiBi

0 1

0

1

0 1

1 0

Suma = Ai Bi + Ai Bi

= Ai + Bi

AiBi

0 1

0

1

0 0

10

Ac. = Ai Bi

Acarreo

Suma A i

B i HA

A

B

S

Co

Page 5: Aritmética Binaria Electrónica Digital

S = Ci xor A xor B

Co = B Ci + A Ci + A B = CiA + CiB + A B

SUMA BINARIA

Sumador con acarreo o Full Adder

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Ci 0 1 0 1 0 1 0 1

S 0 1 1 0 1 0 0 1

Co 0 0 0 1 0 1 1 1

A BCi

0

1

00 01 11 10

0

1

1

0

1

0

0

1

A BCi

0

1

00 01 11 10

0

0

0

1

0

1

1

1

S

Co

Page 6: Aritmética Binaria Electrónica Digital

Implantación estándar: 6 puertas

SUMA BINARIA

A

B

CiS

A

A

B

BCi

CO

Ci

Sumador con acarreo o Full Adder

FA

A

B

S

CoCi

Page 7: Aritmética Binaria Electrónica Digital

Implantación alternativa: 5 puertas

A B + Ci (A + B) = A B + B Ci+ A Ci

+

SUMA BINARIA

HAA

B

A + B

Ci

A + B + CiS S

CoCoCi (A + B)A B

S

Co

HA

Sumador con acarreo o Full Adder

Page 8: Aritmética Binaria Electrónica Digital

+

A2 B2

S2

+

A1 B1

S1

+

A0 B0

S0C1C2

SUMA BINARIA

Sumador paralelo con acarreo serie

Cin

Cout

Page 9: Aritmética Binaria Electrónica Digital

Necesitamos predecir el acarreo para cada término de la suma

Sumador paralelo con acarreo paralelo (es más rápido)

SUMA BINARIA

+

A2 B2

S2

+

A1 B1

S1

+

A0 B0

S0

Cin

Cout

Page 10: Aritmética Binaria Electrónica Digital

C0 = Cin

C1 = A0 B0 + C0 (A0+B0) = G0 + C0 P0

C2 = A1 B1 + C1 (A1+B1) = G1 + [G0 + C0 P0] P1 = G1 + G0 P1 + C0 P0 P1

C3 = ... = G2 + G1 P2 + G0 P1 P2 + C0 P0 P1 P2

Las variables son las entradas al sumador y el acarreo de la primeraetapa

Se trata de predecir el acarreo para cada término de la suma

SUMA BINARIA

Sumador paralelo con acarreo paralelo

Page 11: Aritmética Binaria Electrónica Digital

Sumador paralelo con acarreo paralelo

SUMA BINARIA

+

A 2 B 2

S2

+

A 1 B 1

S1

+

A 0 B 0

S0

C 0=C in

A 0 B 0

G 0 P 0

A 1 B 1

G 1 P 1

A 2 B 2

G 2 P 2

C 0 P 0G 0C 0 P 0G 1 G 0 P 1G 0 P 2G 2 G 1 P 2 P 1C 0P 0P 1 P 1 P 2

C out

El circuito es más complejo pero es más rápido

Page 12: Aritmética Binaria Electrónica Digital

+

A

B

Ci

Sumador serie

SUMA BINARIA

S

Co

CLK

Célula de memoria

Page 13: Aritmética Binaria Electrónica Digital

Sumadores comerciales

SUMA BINARIA

7480 sumador completo de 1 bit

7482 sumador completo de 2 bit

7483 sumador completo de 4 bit

74182 generador de acarreo previo

Page 14: Aritmética Binaria Electrónica Digital

RESTA BINARIA

En principio se pueden diseñar circuitos restadores de la misma forma a como lo hicimos con los sumadores

Sin embargo lo que se suele hacer es usar los mismos circuitos sumadores para hacer las restas

Para ello tenemos que ver primero como se representan los números binarios negativos

Page 15: Aritmética Binaria Electrónica Digital

RESTA BINARIARepresentación de números negativos

Representación de números positivos es similar en la mayoría de los sistemas

Mayores diferencias surgen en la representación de los valores negativos

Dos esquemas fundamentales:

Complemento a uno

Complemento a dos

Especificaciones iniciales:

Trabajaremos con palabras de cuatro bits

Podemos representar 16 valores distintos

Aproximadamente la mitad serán positivos y la mitad negativos

Page 16: Aritmética Binaria Electrónica Digital

Complemento a uno

DEF: Si N es un número positivo, N es su negativo de tal forma que:

Ca1 (N) = N = (2 - 1) - Nn

Ej: Ca1 (7)2 = 10000

1 = - 00001

1111

7 = - 0111

1000 = -7

TRUCO: Cambiamos cada bit por su complementario

0111 -> 1000

4

RESTA BINARIA

Ej: Ca1 (7)

Page 17: Aritmética Binaria Electrónica Digital

Complemento a uno

Hay dos representaciones del cero (malo)

RESTA BINARIA

0000

0111

0011

1011

11111110

1101

1100

1010

1001

1000

0110

0101

0100

0010

0001

+0+1

+2

+3

+4

+5

+6

+7-7

-6

-5

-4

-3

-2

-1

-0

0 100 = + 4 1 011 = - 4

+

-

Page 18: Aritmética Binaria Electrónica Digital

Complemento a dos

DEF: Si N es un número positivo:

Ca2 (N) = 2 - N = Ca1 (N) + 1n

Ej: Ca2 (7)

RESTA BINARIA

2 = 10000

-7 = - 0111

1001 = repr. de -7

4 2 = 10000

-(-7) = -1001

0111 = repr. de 7

4

Ej: Ca2 (7)

Page 19: Aritmética Binaria Electrónica Digital

Complemento a dos

TRUCO1: Complementamos cada bit y al resultado le sumamos 1, es decir, le sumamos 1 al Ca1 del número

RESTA BINARIA

0111 -> 1000 + 1 -> 1001 (representación de -7)

1001 -> 0110 + 1 -> 0111 (representación de 7)

TRUCO2: Ir de izquierda a derecha, respetar el primer 1 que nos encontremos y complementar el resto de bits

0111 -> 1001 (representación de -7)

1001 -> 0111 (representación de 7)

Page 20: Aritmética Binaria Electrónica Digital

Complemento a dos

0000

0111

0011

1011

11111110

1101

1100

1010

1001

1000

0110

0101

0100

0010

0001

+0+1

+2

+3

+4

+5

+6

+7-8

-7

-6

-5

-4

-3

-2

-1

0 100 = + 4 1 100 = - 4

+

-

Hay una única representación para el cero (bueno)

Hay un número negativo más

Es menos intuitivo el obtener el negativo de un número

RESTA BINARIA

Page 21: Aritmética Binaria Electrónica Digital

Suma y resta de números en complemento a uno

4

+ 3

7

00100

00011

00111

-4

+ (-3)

-7

11011

11100

110111

1

11000

4

- 3

1

00100

11100

100000

1

00001

-4

+ 3

-1

11011

00011

11110

Se suma el bit de acarreo

RESTA BINARIA

Ca1 del resultado

Page 22: Aritmética Binaria Electrónica Digital

4

+ 3

7

00100

00011

00111

-4

+ (-3)

-7

11100

11101

111001

4

- 3

1

00100

11101

100001

-4

+ 3

-1

11100

00011

11111

Se desprecia el bit de acarreo

La simplicidad de las operaciones aritméticas en la notación de complemento a dos hace que esta notación sea la más utilizada en sistemas digitales

RESTA BINARIA

Suma y resta de números en complemento a dos

Ca2 del resultado

Page 23: Aritmética Binaria Electrónica Digital

RESTA BINARIA

Sumador/Restador en complemento a dos

Co Ci

A3 A2 A1 A0

B3 B2 B1 B0

COMPL.

SUMADOR

S3 S2 S1 S0

M0 = SUMA1 = RESTA

Page 24: Aritmética Binaria Electrónica Digital

RESTA BINARIA

Sumador/Restador en complemento a uno

Co Ci

A3 A2 A1 A0

B3 B2 B1 B0

COMPL.

SUMADOR

S3 S2 S1 S0

M0 = SUMA1 = RESTA

Page 25: Aritmética Binaria Electrónica Digital

RESTA BINARIA

Circuito complementador

COMPL.

Page 26: Aritmética Binaria Electrónica Digital

B 1

Y 3

Y 2

Y 1

Y 0

M

L

B 3

B 2

B 0

RESTA BINARIA

Ejemplo de circuito complementador: 74487

B0 B1 B2 B3 L=0, M=0 B0 B1 B2 B3

B0 B1 B2 B3 L=0, M=1 B0 B1 B2 B3

B0 B1 B2 B3 L=1, M=0 1 1 1 1

B0 B1 B2 B3 L=1, M=1 0 0 0 0

Page 27: Aritmética Binaria Electrónica Digital

DESBORDAMIENTO (OVERFLOW)

Si estamos trabajando con n bits (1 bit de signo y n-1 bits de magnitud) los resultados de las operaciones no deben superar el siguiente rango:

-2n-1 resultado < 2n-1 -1

Por ejemplo, si trabajamos con n = 4 bits

-24-1 resultado < 24-1 -1

-8 resultado < 7

Si nos saliese un número mayor que 7 o menor que -8 es que se ha producido un desbordamiento y el resultado no será correcto.

Page 28: Aritmética Binaria Electrónica Digital

Condición de desbordamiento

Sumar dos números positivos y obtener uno negativo o viceversa

5 + 3 = -8 ??? -7 - 2 = +7 ???

0000

0001

0010

0011

1000

0101

0110

0100

1001

1010

1011

1100

1101

0111

1110

1111

+0

+1

+2

+3

+4

+5

+6

+7-8

-7

-6

-5

-4

-3

-2

-1

0000

0001

0010

0011

1000

0101

0110

0100

1001

1010

1011

1100

1101

0111

1110

1111

+0

+1

+2

+3

+4

+5

+6

+7-8

-7

-6

-5

-4

-3

-2

-1

DESBORDAMIENTO (OVERFLOW)

Page 29: Aritmética Binaria Electrónica Digital

COMPARADORES BINARIOS DE MAGNITUD

Page 30: Aritmética Binaria Electrónica Digital

COMPARADOR 7485

COMPARADORES BINARIOS DE MAGNITUD

Page 31: Aritmética Binaria Electrónica Digital

UNIDAD ARITMÉTICO-LÓGICA (ALU)

ALU 74181

Page 32: Aritmética Binaria Electrónica Digital

SUMA EN BCDRepresentación de números en formato BCD

Los dígitos decimales del 0 al 9 se representan como 0000 a 1001 en binario

Suma:

5 = 0101

3 = 0011

1000 = 8

5 = 0101

8 = 1000

1101 = 13

Los problemas surgencuando el resultadoes mayor que nueve

Solución: sumar 6 (0110) si el resultado es mayor que 9

5 = 0101

8 = 1000

1101 = 13 en binario

6 = 0110

1 0011 = 1 3 en BCD

9 = 1001

7 = 0111

1 0000 = 16 en binario

6 = 0110

1 0110 = 1 6 en BCD

Page 33: Aritmética Binaria Electrónica Digital

Co Ci

A3 A2 A1 A0 B3 B2 B1 B0

SUMADOR BCD

S3 S2 S1 S0

SUMA EN BCD

Bloque sumador BCD

Page 34: Aritmética Binaria Electrónica Digital

RESTA EN BCD

Igual que con la resta binaria, la resta en BCD se hará sumando una cantidad negativa a otra positiva

Para ello tenemos que ver primero como se representan los números BCD negativos

Page 35: Aritmética Binaria Electrónica Digital

Complemento a diez

DEF: Si N es un número positivo, N es su negativo de tal forma que:

Ca10 (N) = N = 10 - Nn

Ej: Ca10 (3291) = 104-3291 = 10000-3291 = 6709 = 0110 0111 0000 1001

RESTA EN BCD

DEF: Si N es un número positivo, N es su negativo de tal forma que:

Ca9 (N) = N = 10 - 1-Nn

Ej: Ca9 (3291) = 104-1-3291 = 6708 = 0110 0111 0000 1000

Complemento a nueve

Page 36: Aritmética Binaria Electrónica Digital

RESTA EN BCD

0 0101 0010 0011 1001

1 0110 0111 0000 1001 10 1011 1001 0100 10010

110 110

10001 11000

Resta de números en complemento a diez

Ej: 5239 - 3291 = 5239 - Ca10 (3291)

1

0001 1001 0100 1000 = 1948 OKpositivo

Se desprecia el bit de acarreo

1

Page 37: Aritmética Binaria Electrónica Digital

RESTA EN BCD

0 0011 0010 1001 0001

1 0100 0111 0110 0001 1 1000 1010 1111 0010

110 110

10000 10101

Resta de números en complemento a diez

Ej: 3291 - 5239 = 3291 - Ca10 (5239)

1

1 1000 0000 0101 0010 = -1948 OK

negativo

1

Ca10 del resultado

Page 38: Aritmética Binaria Electrónica Digital

RESTA EN BCD

0 0101 0010 0011 1001

1 0110 0111 0000 1000 10 1011 1001 0100 10001

110 110

10001 10111

Resta de números en complemento a nueve

Ej: 5239 - 3291 = 5239 - Ca9 (3291)

1

10 0001 1001 0100 0111

+1

0 0001 1001 0100 1000 = 1948 OKpositivo

No se desprecia el bit de acarreo

1

Page 39: Aritmética Binaria Electrónica Digital

RESTA EN BCD

0 0011 0010 1001 0001

1 0100 0111 0110 0000 1 1000 1010 1111 0001

110 110

10000 10101

Resta de números en complemento a nueve

Ej: 3291 - 5239 = 3291 - Ca9 (5239)

1

1 1000 0000 0101 0001 = -1948 OK

negativo

1

Ca9 del resultado

Page 40: Aritmética Binaria Electrónica Digital

Co Ci

A7 A6 A5 A4

B7 B6 B5 B4

C9

SUMADOR

S7 S6 S5 S4

Co Ci

A3 A2 A1 A0

B3 B2 B1 B0

C9

SUMADOR

S3 S2 S1 S0

RESTA EN BCD

Resta BCD de 2 dígitos en complemento a nueve

Page 41: Aritmética Binaria Electrónica Digital

RESTA BCD

Circuito complementador a nueve

C9