Está en la página 1de 41

Electrnica Bsica

Aritmtica Binaria
Electrnica Digital

Jos Ramn Sendra Sendra Dpto. de Ingeniera Electrnica y Automtica ULPGC

ARITMTICA BINARIA
Operaciones en el sistema Binario Natural Suma Binaria Resta Binaria Unidad Aritmtica Lgica (ALU) Operaciones en BCD Natural Suma en BCD Resta en BCD

ARITMTICA 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 serie Sumador paralelo con acarreo paralelo Sumador serie

Resta Binaria
Representacin de los nmeros negativos Operaciones en Complemento a 1 Operaciones en Complemento a 2 Desbordamientos (Overflow) Circuito complementador 74487 Comparadores binarios en magnitud

Unidad Aritmtica Lgica (ALU)

SUMA BINARIA
Sumador sin acarreo o Half Adder
Ai Bi Suma Ac. 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Ai 0 Bi 0 0 1 1 1 1 0 Ai 0 Bi 0 0 1 0 1 0 1

Suma = Ai Bi + Ai Bi = Ai + Bi

Ac. = Ai Bi

Ai Bi

Suma

A B HA

S Co

Acarreo

SUMA BINARIA
Sumador con acarreo o Full Adder
A 0 0 0 0 1 1 1 1 B Ci 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 S 0 1 1 0 1 0 0 1 Co 0 0 0 1 0 1 1 1 AB Ci 00 01 11 10 S 0 1 0 1 1 0 0 1 1 0

AB Ci 00 01 11 10 Co 0 1 0 0 0 1 1 1 0 1

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
Implantacin estndar: 6 puertas

A B S Ci

A B FA

A Ci B Ci A B CO

Ci

Co

SUMA BINARIA
Sumador con acarreo o Full Adder
Implantacin alternativa: 5 puertas

A
HA

S Co

A+B AB
HA

S Co

A + B + Ci Ci (A + B)

B Ci

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

Co

SUMA BINARIA
Sumador paralelo con acarreo serie

A2 B2

A1 B1

A0 B0

Cin

+ Cout S2 C2

S1

C1

S0

SUMA BINARIA
Sumador paralelo con acarreo paralelo (es ms rpido)
Necesitamos predecir el acarreo para cada trmino de la suma

A2 B2 Cout

A1 B1

A0 B0

Cin

S2

S1

S0

SUMA BINARIA
Sumador paralelo con acarreo paralelo
Se trata de predecir el acarreo para cada trmino de la suma 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 primera etapa

SUMA BINARIA
Sumador paralelo con acarreo paralelo
A2 B2 A1 B1 A0 B0

G2

P2

G1

P1

G0

P0

El circuito es ms complejo pero es ms rpido

G2

G1 P2

G0P1 P2

C0P0 P1P2

G1

G0 P1

C0 P0 P1

G0 C0 P0

A2 B2 Cout +

A1 B1

A0 B0

C0=Cin

S2

S1

S0

SUMA BINARIA
Sumador serie

A B Ci + Co S

CLK
Clula de memoria

SUMA BINARIA
Sumadores comerciales

7480 sumador completo de 1 bit 7482 sumador completo de 2 bit 7483 sumador completo de 4 bit 74182 generador de acarreo previo

RESTA BINARIA

En principio se pueden disear 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 nmeros binarios negativos

RESTA BINARIA
Representacin de nmeros negativos
Representacin de nmeros positivos es similar en la mayora de los sistemas Mayores diferencias surgen en la representacin 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 sern positivos y la mitad negativos

RESTA BINARIA
Complemento a uno
DEF: Si N es un nmero positivo, N es su negativo de tal forma que: n Ca1 (N) = N = (2 - 1) - N Ej: Ca1 (7) 2
4

= 10000 = - 00001 1111

= - 0111 1000 = -7

TRUCO: Cambiamos cada bit por su complementario Ej: Ca1 (7) 0111 -> 1000

RESTA BINARIA
Complemento a uno
-0 -1 -2 -3 -4 -5
1111 1110

+0
0000 0001

+1 +2 +3 +4
+
0 100 = + 4 1 011 = - 4

1101

0010

1100 1011 1010 1001

0011 0100 0101 0110 1000 0111

+5

-6

+6

-7

+7

Hay dos representaciones del cero (malo)

RESTA BINARIA
Complemento a dos
DEF: Si N es un nmero positivo: n Ca2 (N) = 2 - N = Ca1 (N) + 1

Ej: Ca2 (7) 2 = 10000 -7 = - 0111 1001 = repr. de -7 4

Ej: Ca2 (7) 4 2 = 10000 -(-7) = -1001 0111 = repr. de 7

RESTA BINARIA
Complemento a dos
TRUCO1: Complementamos cada bit y al resultado le sumamos 1, es decir, le sumamos 1 al Ca1 del nmero 0111 -> 1000 + 1 -> 1001 (representacin de -7) 1001 -> 0110 + 1 -> 0111 (representacin de 7) TRUCO2: Ir de izquierda a derecha, respetar el primer 1 que nos encontremos y complementar el resto de bits 0111 -> 1001 (representacin de -7) 1001 -> 0111 (representacin de 7)

RESTA BINARIA
Complemento a dos
-2 -3 -4 -5 -6 -1
1111 1110

+0
0000 0001

+1 +2 +3 +4
+ 0 100 = + 4 1 100 = - 4 -

1101

0010

1100 1011 1010 1001

0011 0100 0101 0110 1000 0111

+5

-7

+6

-8

+7

Hay una nica representacin para el cero (bueno) Hay un nmero negativo ms Es menos intuitivo el obtener el negativo de un nmero

RESTA BINARIA
Suma y resta de nmeros en complemento a uno
4 +3 7 00100 00011 00111 -4 + (-3) -7 11011 11100 110111 1 Se suma el bit de acarreo 4 -3 00100 11100 -4 +3 -1 11000 11011 00011 11110 Ca1 del resultado

1 100000 1 00001

RESTA BINARIA
Suma y resta de nmeros en complemento a dos
4 +3 7 Se desprecia el bit de acarreo 4 -3 1 00100 11101 100001 -4 +3 -1 11100 00011 11111 00100 00011 00111 -4 + (-3) -7 11100 11101 111001 Ca2 del resultado

La simplicidad de las operaciones aritmticas en la notacin de complemento a dos hace que esta notacin sea la ms utilizada en sistemas digitales

RESTA BINARIA
Sumador/Restador en complemento a dos
B3 B2 B1 B0

A3 A2 A1 A0

COMPL.

Co

SUMADOR

Ci

0 = SUMA 1 = RESTA

S3 S2 S1 S0

RESTA BINARIA
Sumador/Restador en complemento a uno
B3 B2 B1 B0 0 = SUMA 1 = RESTA

A3 A2 A1 A0

COMPL.

Co

SUMADOR

Ci

S3 S2 S1 S0

RESTA BINARIA
Circuito complementador

COMPL.

RESTA BINARIA
Ejemplo de circuito complementador: 74487
B0 B1 B2 B3 L M Y0 Y1 Y2 Y3

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

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 nmero mayor que 7 o menor que -8 es que se ha producido un desbordamiento y el resultado no ser correcto.

DESBORDAMIENTO (OVERFLOW)
Condicin de desbordamiento
Sumar dos nmeros positivos y obtener uno negativo o viceversa -1 -2 -3 -4 -5 -6 -7 -8
1110 1101 1100 1011 1010 1001 1000 1111

+0
0000 0001 0010 0011 0100 0101 0110 0111

-1 +1 +2 +3 +4 +5 -4 -5 -6 -7 -8 -7 - 2 = +7 ??? -3 -2
1110 1101 1100 1011 1010 1001 1000 1111

+0
0000 0001 0010 0011 0100 0101 0110 0111

+1 +2 +3 +4 +5

+6

+6

+7 5 + 3 = -8 ???

+7

COMPARADORES BINARIOS DE MAGNITUD

COMPARADORES BINARIOS DE MAGNITUD


COMPARADOR 7485

UNIDAD ARITMTICO-LGICA (ALU)


ALU 74181

SUMA EN BCD
Representacin de nmeros en formato BCD Los dgitos 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 surgen cuando el resultado es mayor que nueve

Solucin: 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

SUMA EN BCD
Bloque sumador BCD

A3 A2 A1 A0

B3 B2 B1 B0

Co

SUMADOR BCD

Ci

S3 S2 S1 S0

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 nmeros BCD negativos

RESTA EN BCD
Complemento a diez
DEF: Si N es un nmero positivo, N es su negativo de tal forma que: n Ca10 (N) = N = 10 - N Ej: Ca10 (3291) = 104-3291 = 10000-3291 = 6709 = 0110 0111 0000 1001

Complemento a nueve
DEF: Si N es un nmero positivo, N es su negativo de tal forma que: n Ca9 (N) = N = 10 - 1-N Ej: Ca9 (3291) = 104-1-3291 = 6708 = 0110 0111 0000 1000

RESTA EN BCD
Resta de nmeros en complemento a diez
Ej: 5239 - 3291 = 5239 - Ca10 (3291) 1 0 1 Se desprecia el bit de acarreo 10 1 0101 0010 0011 0110 0111 0000 1011 1001 0100 110 10001 1001 1001 10010 110 11000

positivo

0001 1001 0100

1000 = 1948 OK

RESTA EN BCD
Resta de nmeros en complemento a diez
Ej: 3291 - 5239 = 3291 - Ca10 (5239) 1 0 0011 1 0100 1 1000 1 0010 0111 1010 110 10000 1001 0110 1111 110 10101 0001 0001 0010

1 negativo

1000

0000

0101

0010 = -1948 OK

Ca10 del resultado

RESTA EN BCD
Resta de nmeros en complemento a nueve
Ej: 5239 - 3291 = 5239 - Ca9 (3291) 1 0 1 10 1 0101 0010 0011 0110 0111 0000 1011 1001 0100 110 10001 No se desprecia el bit de acarreo positivo 10 0001 1001 0100 1001 1000 10001 110 10111 0111 +1 0 0001 1001 0100 1000 = 1948 OK

RESTA EN BCD
Resta de nmeros en complemento a nueve
Ej: 3291 - 5239 = 3291 - Ca9 (5239) 1 0 0011 1 0100 1 1000 1 0010 0111 1010 110 10000 1001 0110 1111 110 10101 0001 0000 0001

1 1000 negativo

0000

0101

0001 = -1948 OK

Ca9 del resultado

RESTA EN BCD
Resta BCD de 2 dgitos en complemento a nueve
B7 B6 B5 B4 B3 B2 B1 B0

A7 A6 A5 A4

C9

A3 A2 A1 A0

C9

Co

SUMADOR

Ci

Co

SUMADOR

Ci

S7 S6 S5 S4

S3 S2 S1 S0

RESTA BCD
Circuito complementador a nueve

C9

También podría gustarte