Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Circuitos combinacionales
Circuitos
Los operadores lógicos de Boole se pueden implementar
eléctricamente mediante circuitos.
0 : voltaje bajo (Ej.: 0 volts).
y 0 0 0 0 0 0
0 0 1 0 0 0
x
0 1 0 0 0 0
w
0 1 1 0 1 1
1 0 0 1 0 1
z 1 0 1 1 0 1
1 1 0 0 0 0
1 1 1 0 1 1
Circuitos
Circuitos Digitales
No depende de la salida
No depende del tiempo
Semi Sumador
Recordemos que:
Entradas Salidas
0+0=0
A B CARRY SUM
0+1=1 0 0 0 0 Corresponde a
1+0=1 0 1 0 1
una compuerta
XOR
1 + 1 = 10 1 0 0 1
1 1 1 0
Corresponde a
una compuerta
AND
A
Half
As
Adder As
B
• Ejemplos:
- Diseño de semi sumador (half adder)
- Diseño de sumador completo (full adder) con
base en dos circuitos semisumadores
(guardarlo como macro)
Suma decimal
11010 (acarreos)
9874
7219
---------
17093
Suma binaria
carry
1 1+1=2
1001 1101
1*21+0*20=(10)2
+ 1001 1001
0011 0110
Suma binaria
1001 1101
+ 1001 1001
1 0011 0110
+
Y3 Y2 Y1 Y0 Segundo
sumando
Carry
out Cy3 S3 S2 S1 S0
Resultado
Sumador de cuatro bits
HA – Half Adder
FA – Full Adder
Sumador de ocho bits
FA FA
4 bits 4 bits
Cout Cout
S7-4 S3-0
Restador
En realidad para realizar la resta, lo que haremos será, sumar un
número negativo (que obtendremos como el complemento a la base
del número)
Recordemos que para obtener el complemento a la base, lo que
hacemos es invertir (negar) el número y luego sumarle 1
Ejemplo 1:
9 1001 9= 1001
+ + 6= 0110 -6= 1001 + 1= 1010
-6 1010
-6
3 10011
Ejemplo 2 :
6 0110 6= 0110
+ +
-9 0111 9= 1001 -9= 0110 + 1= 0111
-3 01101 1101 = 0010+1 = 0011
Acarreo
Restador
Restamos utilizando módulos sumadores
Se invierte Y
Sumamos 1
0 s1
0 s0 0
I0 0
I1 1 F
I2 2
I3 3
Multiplexor
Recibe múltiples señales de entrada y selecciona
una como salida.
4 x 1 MUX
0 s1
1 s0 1
I0 0
I1 1 F
I2 2
I3 3
Multiplexor
Recibe múltiples señales de entrada y selecciona
una como salida.
4 x 1 MUX
1 s1
0 s0 2
I0 0
I1 1 F
I2 2
I3 3
Multiplexor
Recibe múltiples señales de entrada y selecciona
una como salida.
4 x 1 MUX
1 s1
1 s0 3
I0 0
I1 1 F
I2 2
I3 3
MUX 2X1X1
MUX 4X2X1
MUX 4X2X1 a partir de MUX
2X1X1
Multiplexor de 8 entradas
2n entradas
n líneas de selección
1 salida
Representación binaria de
un valor entre 0 y 7
MUX 8X3X1 a partir de MUX 4X2X1
Decodificador
Recibe n señales que representan un número i en binario
(i<2n). Entrega 2n salidas, donde sólo la i-esima tiene valor 1.
0 0
1 1
0 s2 2 0
3
n 0 s1 0
4 2n salidas
1 s0 0
5
0
6
7 0
0
Decodificador
Recibe n señales que representan un número i en binario
(i<2n). Entrega 2n salidas, donde sólo la i-esima tiene valor 1.
0 0
1 0
0 s2 2 0
3
1 s1 1
4
1 s0 0
5
0
6
7 0
0
Decodificador
Recibe n señales que representan un número i en binario
(i<2n). Entrega 2n salidas, donde sólo la i-esima tiene valor 1.
0 0
1 0
1 s2 2 0
3
1 s1 0
4
1 s0 0
5
0
6
7 0
1
Decodificador de 2 a 4
Decodificador de 2 a 4 con línea de
habilitación
Decodificador de 3 a 8
1
decodificador de 3x8 a partir de
decodificador de 2x4
ALU
Una ALU o Unidad Aritmética Lógica es un circuito digital
capaz de realizar las siguientes operaciones:
Operaciones aritméticas
como adición, substracción, etc
Operaciones lógicas
como OR, AND, etc entre dos números.
Operando A A0-n
R0-n
Operando B B0-n
ALU
s0 CC z Códigos de condición
Selector s1 s
s2
c ov
ALU
• Condition Codes: almacenan información
adicional sobre el resultado de la operación.
F1F0 - Operación
00 - A.B (AND)
01 - A+B (OR)
10 - NOT B
11 - Suma(A,B,Carry)
ALU de 1 bit
ALU de 8 bits
Fuentes
• STRUCTURED COMPUTER ORGANIZATION. Andrew S.
Tanenbaum & Todd Austin. Prentice Hall, 6th edition, august
2012. ISBN: 9780132916523