Circuitos combinacionales aritméticos

Anuncio
Circuitos
combinacionales
aritméticos
(Parte II)
© Luis Entrena, Celia López,
Mario García, Enrique San Millán
Universidad Carlos III de Madrid
1
Contenidos
1.  Circuitos sumadores y restadores
Ø  Sumadores con propagación de acarreo serie
• 
Semisumador. Sumador total. Sumador de n bits con acarreo serie
Ø  Sumadores con acarreo anticipado
Ø  Sumador/Restador en complemento a 2
2.  Circuitos de multiplicación
Ø  Circuito multiplicador básico
3.  Unidades Aritmético-Lógicas (ALUs)
Ø  Concepto de ALU
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
2
Circuitos sumadores y restadores
A(n)
B(n)
Carry_In
SUMA
S(n)
Carry_Out
A(n)
B(n)
RESTA
R(n)
Borrow_In
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
Borrow_Out
3
Sumador con propagación de acarreo
serie.
Suma decimal y binaria
1 1
86d
25d
111d
à
à
à
1010110b
0011001b
11011111b
Bn-1 An-1
Bn An
Cn
bit
n
Sn
Ø  Operandos: n bits
Ø  Resultado: n+1 bits
Cn-1
bit
n-1
Sn-1
B1 A1
…
C1
bit
1
C0
S1
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
B0 A0
bit
0
S0
4
Sumador con propagación de acarreo serie.
Semisumador
A
A
B
Half-Adder
(SS)
0
0
1
1
Carry
S
B
0
1
0
1
S
0
1
1
0
Carry
0
0
0
1
A
B
Carry
S
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
5
Sumador con propagación de acarreo serie.
Sumador completo
A
A
B
0
0
0
0
1
1
1
1
C_out
Full-Adder
(SC)
S
C_in
A
B
B
0
0
1
1
0
0
1
1
C_in
0
1
0
1
0
1
0
1
S
C_out
0
1
1
0
1
0
0
1
C_out
SS
C_in
0
0
0
1
0
1
1
1
SS
S
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
6
Sumador con propagación de acarreo serie.
Sumador completo
A
A
B
0
0
0
0
1
1
1
1
C_out
Full-Adder
(SC)
S
C_in
B
C_in
0
0
1
1
0
0
1
1
S
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
C_out
0
0
0
1
0
1
1
1
S
0
1
0
1
1
0
1
0
Cout
0
0
1
0
0
1
1
1
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
7
Sumador con propagación de acarreo serie.
Sumador completo
A
A
Full-Adder
(SC)
B
0
0
0
0
1
1
1
1
C_out
S
C_in
BCin
ACin
B
C_in
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
S
0
1
1
0
1
0
0
1
C_out
0
0
0
1
0
1
1
1
Carry
AB
A
B
C_in
S
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
8
Sumador con propagación de acarreo serie.
Sumador de varios bits
B(0)
B(1)
A(1)
SS
bit 0
C_in(1)
C_out(0)
B(2)
B(3)
A(3)
C_in(3)
C_in(2)
S(2)
S(0)
SC
bit 1
C_out(1)
SC
bit 2
C_out(2)
SC
bit 3
C_out(3)
A(2)
A(0)
S(1)
LRetraso = f(#bits)
S(3)
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
9
Sumador con propagación de acarreo serie.
Sumador de varios bits
B(3)
A(3)
B(2)
A(2)
B(1)
A(1)
B(0)
A(0)
C_in
C_out
S(3)
S(2)
S(1)
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
S(0)
10
Sumador con acarreo anticipado.
B3 A3
B2 A2
B1 A1
C_out
B0 A0
SC
S3
SC
S2
SC
S1
SC
S0
Carry
look-ahead
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
11
Sumador con acarreo anticipado.
B(3)
A(3)
B(2)
A(2)
B(1)
A(1)
B(0)
A(0)
Lógica de
acarreo
C_in
C_out
Lógica de
suma
S(3)
S(2)
S(1)
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
S(0)
12
Sumador/restador en CA2.
Complemento a 2
• 
Números positivos
01010
+10d
• 
Números negativos
10110
-10d
A
+
CA2(A)
1
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
13
Sumador/restador en CA2.
A – B = A + (-B)
A
B
1
CA2
+
Res
0
S/R
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
14
Sumador/restador en CA2.
SR
B(0)
C_in
B(1)
B
B(2)
Sumador
4 bits
S
A
B(3)
A(0)
A(1)
A(2)
A(3)
S(0)
S(1)
S(2)
S(3)
C_out
B(4)
C_in
B
B(5)
B(6)
B(7)
A(4)
A(5)
A(6)
A(7)
Sumador
A 4 bits
S
C_out
S(4)
S(5)
S(6)
S(7)
Detector
de
desbordamiento
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
OV
15
Sumador/restador en CA2.
Ejercicio
A(7)
B (7)
S(7)
Detector
de
desbordamiento
OV
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
16
Multiplicador.
A
B
Multiplicador
86d
15d
30
40
6
8
1290
S
Multiplicador
86d
15d
1290d
decimal y binario
à
1010110b
à
0001111b
à 10100001010b
Decimal
5x6
5x8 desplazado a izqda 1 p.
6x1 desplazado a izqda 1 p.
8x1 desplazado a izqda 2 p.
Ø  Operandos: n bits
Ø  Resultado: 2*n bits
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
17
Multiplicador.
Binario
A * B = A * (bn-1*2n-1+ bn-2*2n-2+…+ b1*21+ b0*20
¡¡ 1s o 0s !!
La multiplicación binaria de dos números A (m bits) y B (n bits) consiste en
una suma de tantos elementos como bits tenga B (n). Cada elemento i es el
número A desplazado a la izquierda i veces si el peso correspondiente de B
vale 1 . En caso contrario el elemento i es 0 .
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
18
Multiplicador.
A * B = A * (4*B(2)+2*B(1)+1*B(0))
*1
A
1
0
SHL(1)
*2
1
0
SHL(1)
+
B(0)
B(1)
*4
Res
+
1
0
0
B(2)
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
19
Multiplicador.
A * 7 = A * (4+2+1)
*1
A
SHL(1)
SHL(1)
+
*2
*4
Res
+
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
20
Multiplicador.
A * 5 = A * (4+0+1)
*1
A
SHL(1)
SHL(1)
+
*2
*4
Res
+
0
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
21
Multiplicador.
B4
A4
A1B4
A2B4 A2B3
A3B4 A3B3 A2B2
A4B4 A4B3 A4B2 A4B1
P8
P7
P6
P5
P4
B3
B2
B1
A3
A2
A1
A1B3 A1B2 A1B1
A2B2 A2B1
A3B1
P3
P2
P1
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
22
Multiplicador.
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
23
Unidad Aritmético-Lógica
CarryIn
A
Res
Overflow
A>B
A<B
A=B
CarryOut
B
Sel_Op
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
24
Unidad Aritmético-Lógica
Combinacional
Bloque para la realización de operaciones aritmético-lógicas:
Ø  Suma
Operaciones lógicas (bit a bit)
A+B
Ø  AND
Ø  Resta
Ø  OR
A-B
Ø  XOR
Ø  Complemento a 2
Ø  XNOR
-B
Ø  NOT
Ø  Comparación
A>B
A<B
RESTA
A=B
A
A
A
A
A
A
A
A
Ø  Desplazamiento a la izquierda
SHL(A) ß
Ø  Desplazamiento a la derecha
A
A
A
A
A
A
A
A
SHR (A) à
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
25
Referencias
l 
l 
l 
“Circuitos y Sistemas Digitales”. J. E. García
Sánchez, D. G. Tomás, M. Martínez Iniesta. Ed.
Tebar-Flores
Electrónica Digital , L. Cuesta, E. Gil, F. Remiro,
McGraw-Hill
Fundamentos de Sistemas Digitales , T.L Floyd,
Prentice-Hall
© Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid, 2008
26
26
Descargar