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 Suma en BCD Resta en BCD
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 serie Sumador paralelo con acarreo paralelo Sumador serie Resta Binaria Representación de los números negativos Operaciones en Complemento a Operaciones en Complemento a 2 Desbordamientos (Overflow) Circuito complementador 74487 Comparadores binarios en magnitud Unidad Aritmética Lógica (ALU)
SUMA BINARIA Sumador sin acarreo o Half Adder Ai Bi Suma Ac. Ai Bi Ai Bi Suma = Ai Bi + Ai Bi = Ai + Bi Ac. = Ai Bi A i Suma A S B i Acarreo B HA Co
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 B Ci S Co A B Ci A B Ci S Co
SUMA BINARIA Sumador con acarreo o Full Adder Implantación estándar: 6 puertas A B Ci S A S A Ci B Ci FA Co B Ci CO A B
SUMA BINARIA Sumador con acarreo o Full Adder Implantación alternativa: 5 puertas A B HA S Co A B A + B HA S Co A + B + Ci Ci (A + B) S Ci + Co A B + Ci (A + B) = A B + B Ci+ A Ci
SUMA BINARIA Sumador paralelo con acarreo serie A2 B2 A B A B Cin + + + Cout S2 C2 S C S
SUMA BINARIA Sumador paralelo con acarreo paralelo (es más rápido) Necesitamos predecir el acarreo para cada término de la suma A2 B2 A B A B Cin Cout + + + S2 S S
SUMA BINARIA Sumador paralelo con acarreo paralelo Se trata de predecir el acarreo para cada término de la suma C = Cin C = A B + C (A+B) = G + C P C2 = A B + C (A+B) = G + [G + C P] P = G + G P + C P P C3 =... = G2 + G P2 + G P P2 + C P P P2 Las variables son las entradas al sumador y el acarreo de la primera etapa
SUMA BINARIA Sumador paralelo con acarreo paralelo G2 A2 B2 P2 G A B P G A B P El circuito es más complejo pero es más rápido G2 G P2 GPP2 CPPP2 G G P C P P G C P A2 B2 A B A B C=Cin Cout + + + S2 S S
SUMA BINARIA Sumador serie A B Ci + Co S CLK Célula de memoria
Sumadores comerciales SUMA BINARIA 748 sumador completo de bit 7482 sumador completo de 2 bit 7483 sumador completo de 4 bit 7482 generador de acarreo previo
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
RESTA BINARIA Representació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 6 valores distintos Aproximadamente la mitad serán positivos y la mitad negativos
Complemento a uno RESTA BINARIA DEF: Si N es un número positivo, N es su negativo de tal forma que: n Ca (N) = N = (2 - ) - N Ej: Ca (7) 4 2 = = - 7 = - = -7 TRUCO: Cambiamos cada bit por su complementario Ej: Ca (7) ->
Complemento a uno RESTA BINARIA -3-4 -2-5 - -6 - -7 + +7 + +6 +2 +3 +4 +5 + = + 4 = - 4 - Hay dos representaciones del cero (malo)
Complemento a dos RESTA BINARIA DEF: Si N es un número positivo: n Ca2 (N) = 2 - N = Ca (N) + Ej: Ca2 (7) 4 2 = -7 = - = repr. de -7 Ej: Ca2 (7) 4 2 = -(-7) = - = repr. de 7
Complemento a dos RESTA BINARIA TRUCO: Complementamos cada bit y al resultado le sumamos, es decir, le sumamos al Ca del número -> + -> (representación de -7) -> + -> (representación de 7) TRUCO2: Ir de izquierda a derecha, respetar el primer que nos encontremos y complementar el resto de bits -> (representación de -7) -> (representación de 7)
RESTA BINARIA Complemento a dos -4-5 -3-6 -2-7 - -8 + +7 + +6 +2 +3 +4 +5 + = + 4 = - 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 Suma y resta de números en complemento a uno 4-4 + 3 + (-3) 7-7 Se suma el bit de acarreo 4-3 -4 + 3 Ca del resultado -
RESTA BINARIA Suma y resta de números en complemento a dos 4-4 + 3 + (-3) Se desprecia el bit de acarreo 7 4-7 -4 Ca2 del resultado - 3 + 3 - 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 Sumador/Restador en complemento a dos B3 B2 B B A3 A2 A A COMPL. Co SUMADOR Ci M = SUMA = RESTA S3 S2 S S
RESTA BINARIA Sumador/Restador en complemento a uno B3 B2 B B A3 A2 A A COMPL. M = SUMA = RESTA Co SUMADOR Ci S3 S2 S S
Circuito complementador RESTA BINARIA COMPL.
RESTA BINARIA Ejemplo de circuito complementador: 74487 B B B2 B3 L Y Y Y2 Y3 M B B B2 B3 L=, M= B B B2 B3 B B B2 B3 L=, M= B B B2 B3 B B B2 B3 L=, M= B B B2 B3 L=, M=
DESBORDAMIENTO (OVERFLOW) Si estamos trabajando con n bits ( bit de signo y n- bits de magnitud) los resultados de las operaciones no deben superar el siguiente rango: -2 n- resultado < 2 n- - Por ejemplo, si trabajamos con n = 4 bits -2 4- resultado < 2 4- - -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.
DESBORDAMIENTO (OVERFLOW) Condición de desbordamiento Sumar dos números positivos y obtener uno negativo o viceversa -3-4 -5-6 -7 - -2-8 + +7 + +6 +2 +5 +3 +4-3 -4-5 -6-7 - -2-8 + +7 + +6 +2 +5 +3 +4 5 + 3 = -8??? -7-2 = +7???
COMPARADORES BINARIOS DE MAGNITUD
COMPARADORES BINARIOS DE MAGNITUD COMPARADOR 7485
UNIDAD ARITMÉTICO-LÓGICA (ALU) ALU 748
SUMA EN BCD Representación de números en formato BCD Los dígitos decimales del al 9 se representan como a en binario Suma: 5 = 3 = = 8 5 = 8 = = 3 Los problemas surgen cuando el resultado es mayor que nueve Solución: sumar 6 () si el resultado es mayor que 9 5 = 8 = = 3 en binario 6 = = 3 en BCD 9 = 7 = = 6 en binario 6 = = 6 en BCD
Bloque sumador BCD SUMA EN BCD A3 A2 A A B3 B2 B B Co SUMADOR BCD Ci S3 S2 S S
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
Complemento a diez RESTA EN BCD DEF: Si N es un número positivo, N es su negativo de tal forma que: n Ca (N) = N = - N Ej: Ca (329) = 4-329 = -329 = 679 = Complemento a nueve DEF: Si N es un número positivo, N es su negativo de tal forma que: n Ca9 (N) = N = - -N Ej: Ca9 (329) = 4 --329 = 678 =
RESTA EN BCD Resta de números en complemento a diez Ej: 5239-329 = 5239 - Ca (329) Se desprecia el bit de acarreo positivo = 948 OK
RESTA EN BCD Resta de números en complemento a diez Ej: 329-5239 = 329 - Ca (5239) = -948 OK negativo Ca del resultado
RESTA EN BCD Resta de números en complemento a nueve Ej: 5239-329 = 5239 - Ca9 (329) No se desprecia el bit de acarreo positivo + = 948 OK
RESTA EN BCD Resta de números en complemento a nueve Ej: 329-5239 = 329 - Ca9 (5239) = -948 OK negativo Ca9 del resultado
RESTA EN BCD Resta BCD de 2 dígitos en complemento a nueve B7 B6 B5 B4 B3 B2 B B A7 A6 A5 A4 C9 A3 A2 A A C9 Co SUMADOR Ci Co SUMADOR Ci S7 S6 S5 S4 S3 S2 S S
RESTA BCD Circuito complementador a nueve C9