Logo Studenta

circuitos combinacionales

¡Este material tiene más páginas!

Vista previa del material en texto

Circuitos combinacionales
Universidad Nacional de Salta
Facultad de Ciencias Exactas
Departamento de Informática
 Los operadores lógicos de Boole se pueden implementar 
eléctricamente mediante circuitos.
 0 : voltaje bajo (Ej.: 0 volts).
 1 : voltaje alto (Ej.: 5 volts).
 Ej. Circuito AND entrega como salida un voltaje alto sólo 
cuando sus entradas son voltajes altos.
 Los circuitos que implementan los operadores lógicos se 
denominan compuertas lógicas.
Circuitos
Símbolo NOT Símbolo AND
Símbolo OR Símbolo XOR
Compuertas Lógicas
Símbolo NAND Símbolo NOR
Compuertas Lógicas
Estas compuertas se pueden combinar para 
crear circuitos digitales. 
Por ej zy y x w 
x
y
z
w
x y z xy yz w
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 1
1 0 1 1 0 1
1 1 0 0 0 0
1 1 1 0 1 1
Circuitos
Se denominan circuitos digitales a todos los
circuitos eléctricos cuyas entradas y salidas
pueden tomar uno de dos valores posibles.
Circuitos Digitales
Circuitos
Combinacionales Vs. Secuenciales
Se denominan circuitos combinacionales a
todos los circuitos digitales cuya salida
depende exclusivamente de las entradas.
Circuitos Combinacionales
Circuitos
No depende de la salida
No depende del tiempo
Recordemos que:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
Entradas Salidas
A B CARRY SUM
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Corresponde a 
una compuerta 
AND
Corresponde a 
una compuerta 
XOR
Se denomina Semi Sumador pues sus 
entradas son SOLO los 2 sumandos 
(no el carry anterior) y entrega en su 
salida el resultado de la suma y el 
acarreo
Semi Sumador
Se lo denomina sumador completo ya que toma en sus entradas los 
2 sumandos y el Carry de la suma anterior.
Sumador Completo
Half 
Adder
A
B
Ae

As
Full Adder implementado utilizando 2 circuitos half Adder
Half 
Adder

As

As
A
B
Sumador Completo
Digital Works
Digital Works
• 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
1001 1101
+ 1001 1001
011 01100
Para sumar dos números binarios se opera de igual forma 
que para sumar números decimales.
1+1=2
1*21+0*20=(10)2
1
carry
Suma binaria
¿Qué pasa si el largo de la suma sobrepasa el largo de los 
sumandos?
1001 1101
+ 1001 1001
1 0011 0110
A este bit se le llama 
carry-out
Suma binaria
Cy3 Cy2 Cy1 Cy0
+
X3 X2 X1 X0
Y3 Y2 Y1 Y0
Cy3 S3 S2 S1 S0
Primer 
sumando
Segundo 
sumando
Carry
Resultado
Ejemplo de la suma de 2 números binarios de 4 Bits
Sumador con propagación de acarreo
Carry 
out
Sumador de cuatro bits
HA – Half Adder
FA – Full Adder
FA 
4 bits
Cin
A7-4 B7-4
S7-4
Cout
FA 
4 bits
Cin
A3-0 B3-0
S3-0
Cout
Sumador de ocho bits
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
+
-6
3
9= 1001
6= 0110 -6= 1001 + 1= 1010
1001
1010
+
10011
Carry
-6
Restador
indica signo positivo
Ejemplo 2 :
6
+
-9
-3
6= 0110
9= 1001 -9= 0110 + 1= 0111
0110
0111
+
01101
Restador
1101 = 0010+1 = 0011
Acarreo
1. Se niega cada bit de Y
2. Se suma 1, mediante el CARRY IN 
3. Se suma, bit a bit, X y el complemento de Y
Sumamos 1
Se invierte Y
Restamos utilizando módulos sumadores
Restador
I0
4 x 1 MUX
s1
s0
0
1
2
3
F
0
0 0
I1
I2
I3
I0
Multiplexor
Recibe múltiples señales de entrada y selecciona 
una como salida.
I1
4 x 1 MUX
s1
s0
0
1
2
3
F
0
1 1
I0
I2
I3
I1
Multiplexor
Recibe múltiples señales de entrada y selecciona 
una como salida.
I1
4 x 1 MUX
s1
s0
0
1
2
3
F
1
0 2
I0
I2
I3
I2
Multiplexor
Recibe múltiples señales de entrada y selecciona 
una como salida.
I1
4 x 1 MUX
s1
s0
0
1
2
3
F
1
1 3
I0
I2
I3I3
Multiplexor
Recibe múltiples señales de entrada y selecciona 
una como salida.
MUX 2X1X1
MUX 4X2X1
MUX 4X2X1 a partir de MUX 
2X1X1
Representación binaria de 
un valor entre 0 y 7
Saldrá del AND el valor 
de D3 cuando A,B,C 
valgan 0,1,1… 
Solo un AND estará 
activo, entonces F tomará 
el valor de ese Di
Multiplexor de 8 entradas
2n entradas
n líneas de selección 
1 salida
MUX 8X3X1 a partir de MUX 4X2X1 
s2
s0
s1
0
1
2
3
4
5
6
7
0
0
1
0
1
0
0
0
0
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.
n
2n salidas
s2
s0
s1
0
1
2
3
4
5
6
7
0
1
1
0
0
0
1
0
0
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.
s2
s0
s1
0
1
2
3
4
5
6
7
1
1
1
0
0
0
0
0
0
0
1
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.
Decodificador de 2 a 4
Decodificador de 2 a 4 con línea de 
habilitación 
Decodificador de 3 a 8
1
1
1
1
decodificador de 3x8 a partir de 
decodificador de 2x4
A0-n
B0-n
R0-n
s0
s1
s2
ALU
CC zs
c ov
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.
 Operaciones de desplazamiento
 Shift, Rotate
ALU
• Los bit S0, S1, S2 permiten seleccionar la operación.
• El resultado de la operación corresponde a los bits R0
a Rn
A0-n
B0-n
R0-n
s0
s1
s2
ALU
CC zs
c ov
ALU
Operando A 
Operando B 
Selector Códigos de condición
• Condition Codes: almacenan información 
adicional sobre el resultado de la operación. 
A0-n
B0-n
R0-n
s0
s1
s2
ALU
CC zs
c ov
 z : vale 1 si el resultado fue 0.
 s: vale 1 si el resultado fue 
negativo.
 c: vale 1 si hubo carry, es decir, 
el resultado de la operación fue 
mayor al máximo número 
representable.
 ov: vale 1 si hubo overflow. 
Muy similar a carry pero para 
operaciones con signo.
ALU
Ejemplo:
• ALU de 1 bit
• 3 entradas:
A, B, Carry
• Cuatro operaciones:
A.B, A+B, NOT B, Suma(A,B,Carry)
• Salidas
Resultado, CarryOut
ALU
ALU de 1 bit
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
• FUNDAMENTOS DE COMPUTADORES. Montse Peiron Guàrdia, 
Lluís Ribas Xirgo, Fermín Sánchez Carracedo, A. Josep Velasco 
González. Oberta Publishing. 1ra edición, Septiembre 2011. 
ISBN: 978-84-693-9186-0
• Arquitectura de Computadores. Rubén Mitnik. Escuela de 
ingeniería. Universidad Católica de Chile.
• Apuntes de Organización del computador I. Universidad de 
Buenos Aires.

Continuar navegando