2. 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
3. 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 1
Operaciones en Complemento a 2
Desbordamientos (Overflow)
Circuito complementador 74487
Comparadores binarios en magnitud
Unidad Aritmética Lógica (ALU)
4. 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
Ai
Bi
0 1
0
1
0 1
1 0
Suma = Ai Bi + Ai Bi
= Ai + Bi
Ai
Bi
0 1
0
1
0 0
10
Ac. = Ai Bi
Acarreo
Suma
Ai
Bi HA
A
B
S
Co
5. 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 B
Ci
0
1
00 01 11 10
0
1
1
0
1
0
0
1
A B
Ci
0
1
00 01 11 10
0
0
0
1
0
1
1
1
S
Co
6. Implantación estándar: 6 puertas
SUMA BINARIA
A
B
Ci
S
A
A
B
B
Ci
CO
Ci
Sumador con acarreo o Full Adder
FA
A
B
S
CoCi
7. Implantación alternativa: 5 puertas
A B + Ci (A + B) = A B + B Ci+ A Ci
+
SUMA BINARIA
HA
A
B
A + B
Ci
A + B + CiS S
CoCo
Ci (A + B)A B
S
Co
HA
Sumador con acarreo o Full Adder
9. 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
10. 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
Se trata de predecir el acarreo para cada término de la suma
SUMA BINARIA
Sumador paralelo con acarreo paralelo
11. Sumador paralelo con acarreo paralelo
SUMA BINARIA
+
A2 B2
S2
+
A1 B1
S1
+
A0 B0
S0
C0=Cin
A0 B0
G0 P0
A1 B1
G1 P1
A2 B2
G2 P2
C0 P0G0C0 P0G1 G0 P1G0 P2G2 G1 P2 P1C0P0P1 P1P2
Cout
El circuito es más
complejo pero es
más rápido
13. 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
14. 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
15. 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 16 valores distintos
Aproximadamente la mitad serán positivos y la mitad negativos
16. Complemento a uno
DEF: Si N es un número positivo, N es su negativo de tal forma que:
Ca1 (N) = N = (2 - 1) - N
n
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)
18. Complemento a dos
DEF: Si N es un número positivo:
Ca2 (N) = 2 - N = Ca1 (N) + 1
n
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)
19. 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)
21. 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
22. 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
27. 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.
32. SUMA EN BCD
Representació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 surgen
cuando el resultado
es 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
33. Co Ci
A3 A2 A1 A0 B3 B2 B1 B0
SUMADOR
BCD
S3 S2 S1 S0
SUMA EN BCD
Bloque sumador BCD
34. 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
35. Complemento a diez
DEF: Si N es un número positivo, N es su negativo de tal forma que:
Ca10 (N) = N = 10 - N
n
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-N
n
Ej: Ca9 (3291) = 104-1-3291 = 6708 = 0110 0111 0000 1000
Complemento a nueve
36. 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
37. 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
38. 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
39. 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
40. 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