i 15 14 : 2 1 0
3 1 1 : 0 0 0
2 1 1 : 0 0 0
1 1 1 : 1 0 0
0 1 0 : 0 1 0
1
Departamento de Mecatrnica
Mtodos principales
Signo y magnitud Complemento a 2 Complemento a 1
Departamento de Mecatrnica 2
Se requiere de N bits para la magnitud y de un bit extra para el signo. Las arquitecturas aritmticas son ms complejas.
Numeracin en Complemento a 1
Nmero positivo, N,
0 XXXXX Donde XXXXX representa la magnitud del nmero
Numeracin en Complemento a 2
Nmero positivo, N,
0 XXXXX Donde XXXXX representa la magnitud del nmero
Regla: Avanzar de derecha a izquierda. Cuando se localice el primer 1, complementar los siguientes bits.
Departamento de Mecatrnica 5
Complemento a 2 vs Complemento a1
N* = 2n N = 2n 1 N + 1 = /N + 1 Obtencin de N a partir de sus complementos
N = 2n N* N = (2n 1) /N
Complemento a 2: posibilidad de representar un nmero negativo ms que un nmero positivo. Ejemplo: Para n = 4 podemos representar los valores [7 .. 8]
Departamento de Mecatrnica 6
Enteros Negativos -N
-0
-1 -2 -3
Signo y magnitud
1000
1001 1010 1011
Complemen to a 2
---1111 1110 1101
Complemen to a 1
1111
1110 1101 1100
+4 +5
+6 +7
0100 0101
0110 0111
-4 -5
-6 -7 -8
1100 1101
1110 1111 ----
1100 1011
1010 1001 1000
1011 1010
1001 1000 ----
Departamento de Mecatrnica
La Suma en Complemento a 2
La suma de nmeros con signo de n bits es directa cuando se emplea el sistema en complemento a 2. Cualquier carry de la posicin de signo se ignora La suma siempre ser correcta excepto cuando ocurre overflow Se dice que ha ocurrido overflow cuando la representacin de la suma (incluyendo el bit de signo) requiere ms de n bits
Departamento de Mecatrnica 8
La Suma en Complemento a 1
Similar a la suma en complemento a 2
Diferencia: El carry no se ignora y se suma al resultado de la suma Tambin puede ocurrir overflow, lo que indica que la suma necesita ms bits para representarse correctamente
Departamento de Mecatrnica 9
Sumadores Binarios
Operacin aritmtica bsica en el diseo de circuitos digitales ms complejos Clasificacin
Tipo de Suma
Sumador Completo (Full Adder) Sumador Medio (Half Adder)
Departamento de Mecatrnica 10
Y Cout S X Y
Y
0
1 0 1
Cout
0
0 0 1
S
0
1 1 0
HA
S Cout
11
S XY X Y X Y C XY
Departamento de Mecatrnica
FA
Cin
(Del FA anterior)
S
Departamento de Mecatrnica 12
Salidas
Cout 0 0 S 0 1
S X Y Cin X Y Cin X Y Cin XYCin S X Y Z Cout XY XCin YCin Cout XY Cin ( X Y X Y ) Cout XY Cin ( X Y )
0
0 1
1
1 0
0
1 0
0
1 0
1
0 1
1
1 1
0
1 1
1
0 1
1
1 1
0
0 1
Departamento de Mecatrnica
13
Cout Cin
Departamento de Mecatrnica 14
Sumadores de n bits
Arquitecturas capaces de realizar la suma de dos nmeros de n bits Dos tipos de intereses:
Velocidad Tamao
Arquitecturas en Serie
Tamao Velocidad
Velocidad Tamao
Arquitecturas en Paralelo
Departamento de Mecatrnica
15
Sumador en Serie
Implementacin de un sumador eficiente en tamao
X = xn-1, xn-2, ,x0
xi yi
Cin
FA
Si Cout
Y = yn-1, yn-2, ,y0 Condicin: entradas sincronizadas por medio de la seal CLK
Q D
CLK
Departamento de Mecatrnica 16
Sumador Paralelo
Arquitecturas para realizar sumas de n bits donde la velocidad es el principal criterio de diseo Utilizacin de n FAs. Todos los bits se aplican simultneamente a los FAs para producir la suma Clasificacin de acuerdo a la forma de generar el bit de carry :
Ripple Carry Adder Carry Lookahead Adder Manchester Carry Chain Carry Select Adder Carry Skip Adder
Departamento de Mecatrnica 17
Cn
FA
Sn-1
Cn-1
FA
s2
Cin 0 1 1 0 X 1011 Y 0011 S 1110 Cout 0 0 1 1
c2
FA
s1
c1
FA
s0
c0
Departamento de Mecatrnica
18
Departamento de Mecatrnica
19
C0
FA
C1
FA
C2
FA
C3
FA
C4
S0
S1
S2
S3
S4
20
Departamento de Mecatrnica
C0
FAp
C1
FAI
C2
FAp
C3
FAI
C4
S0
S1
S2
S3
S4
21
Departamento de Mecatrnica
Sumador/Restador
Recordando: El complemento 2 permite representar nmeros positivos y negativos usando el mismo nmero de bits, tambin permite tener un nico cdigo para el cero. La resta se obtiene de la siguiente forma:
Se obtiene el complemento 2 del nmero afectado por el signo negativo. Se realiza una suma directa bit a bit. Si el Overflow es 1, el resultado de la suma es la magnitud positiva (resultado positivo). Si el Overflow es 0, el resultado de la suma es la magnitud en complemento a dos (resultado negativo).
Departamento de Mecatrnica 22
Sumador/Restador
Ejemplo:
1010 (10) - 0010 (2) (8)
2: 0010 1101 + 1 1110 (14)
Sumador/Restador
Ejemplo:
1010 (10) - 1100 (12) (-2)
Sumador/Restador
Diseo del circuito:
A0 /B0 A1 /B1 A2 /B2 A3 /B3 An /Bn
FA
S0
FA
S1
FA
S2
FA
S3
FA
Sn
OV
Departamento de Mecatrnica
25
Sumador/Restador
Diseo del circuito:
A0 A1 A2 A3 An
B0 /B0
B1 /B1
B2 /B2
B3 /B3
Bn /Bn
0 1
Sumador de n bits
OV
S0
S1
S2
S3
Sn
Departamento de Mecatrnica
26
Sumador/Restador
Diseo del circuito:
R/S
A0 B0
A1 B1
A2 B2
A3 B3
An Bn
Sumador de n bits
OV
S0
S1
S2
S3
Sn
27
Departamento de Mecatrnica
Multiplicador
Existen varios mtodos bsicos para el clculo de la multiplicacin de dos nmeros (A, B) de N bits:
Almacenamiento de los 22*N resultados posibles en una memoria ROM y utilizar los 2*N bits para el direccionamiento. Calcular los 2N funciones lgicas y realizar la suma correspondiente. En base a la codificacin anterior optimizar teniendo en cuenta una relacin de dependencia entre los nmeros A y B y el resultado M.
Departamento de Mecatrnica 28
Multiplicador
La multiplicacin consiste en una serie de operaciones AND entre los distintos bits y una serie de sumas.
Se requieren de 2N compuertas AND. Se requiere de N sumadores de N bits Problema: Extensin del signo. Problema: Tratamiento del signo del operando B.
Departamento de Mecatrnica 29
Multiplicacin
A3 A2 A1 A0
X B3 B2 B1 B0 A/0 A/1 A/2 A codificado
A
B B
(+/-)(A/N)2 i
A*B
A/3 R= Bi A 2 i
Departamento de Mecatrnica 30
Multiplicacin
A3 A2 A1 A0 B0
A3/0 A2/0 A1/0 A0/0
B1
A3/1 A2/1 A1/1 A0/1
B2
A3/2 A2/2 A1/2 A0/2
B3
A3/3 A2/3 A1/3 A0/3
Matriz de sumas
M7
M6
M5
M4
M3
M2
M1
M0
31
Departamento de Mecatrnica
Multiplicacin
A3/1 A2/1 A3/0 A1/1 A2/0 A0/1 A1/0 A0/0
HA
A3/2 A2/2 A1/2
FA
A0/2
FA
HA
FA
A3/3 A2/3 A1/3
FA
A0/3
FA
HA
FA
FA
FA
HA
M7
M6
M5
M4
M3
M2
M1
M0
Departamento de Mecatrnica
32
Multiplicacin
Descripcin de la multiplicacin sin signo en dos bloques: A3 A2 A1 A0
B0 B1 B2 B3
Codificador A/N
Sumatoria de A/N
M7 M6 M5 M4 M3 M2 M1 M0
Departamento de Mecatrnica 33
Divisin
La divisin, como todos sabemos, es una serie de divisiones sucesivas. El objetivo es ver, para A/B cuantas veces cabe el nmero B en A. O en otras palabras por qu nmero tengo que multiplicar B para obtener A. Se obtiene un cociente y un residuo.
Departamento de Mecatrnica 34
Divisin
Ejemplo:
101 110 100010 -110 101 -000 1010 -110 100
Cociente Resta Compara
Resta Residuo
Departamento de Mecatrnica
35
Divisor
Circuito:
Sentido del corrimiento CLK Dividendo (A) Shift control Resta/ Compara Mquina Subb Enable de estados
Start
CLK Overfow
Divisor (B)
Borrow
Departamento de Mecatrnica
36