Está en la página 1de 46

Universidad Nacional de Salta

Facultad de Ciencias Exactas


Departamento de Informática

Circuitos combinacionales
Circuitos
 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.
Compuertas Lógicas
Símbolo NOT Símbolo AND

Símbolo OR Símbolo XOR


Compuertas Lógicas

Símbolo NAND Símbolo NOR


Circuitos
Estas compuertas se pueden combinar para
crear circuitos digitales.
Por ej w  x y  y z
x y z xy yz w

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

Se denominan circuitos digitales a todos los


circuitos eléctricos cuyas entradas y salidas
pueden tomar uno de dos valores posibles.
Combinacionales Vs. Secuenciales
Circuitos
Circuitos Combinacionales

Se denominan circuitos combinacionales a


todos los circuitos digitales cuya salida
depende exclusivamente de las entradas.

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

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
Sumador Completo
Se lo denomina sumador completo ya que toma en sus entradas los
2 sumandos y el Carry de la suma anterior.
Sumador Completo
Ae
A  
Half
B Adder As

A 
Half
As
Adder As
B

Full Adder implementado utilizando 2 circuitos half Adder


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
Suma binaria

Para sumar dos números binarios se opera de igual forma


que para sumar números decimales.

carry

1 1+1=2
1001 1101
1*21+0*20=(10)2
+ 1001 1001
0011 0110
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
Sumador con propagación de acarreo
Ejemplo de la suma de 2 números binarios de 4 Bits
Carry
Cy3 Cy2 Cy1 Cy0
Primer
X3 X2 X1 X0 sumando

+
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

A7-4 B7-4 A3-0 B3-0


Cin Cin

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

Carry indica signo positivo


Restador

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

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
Multiplexor
Recibe múltiples señales de entrada y selecciona
una como salida.
4 x 1 MUX

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

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

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.

 Operaciones de desplazamiento A0-n


 Shift, Rotate
R0-n
B0-n
ALU
s0 CC z
s1 s
s2
c ov
ALU
• Los bit S0, S1, S2 permiten seleccionar la operación.
• El resultado de la operación corresponde a los bits R0
a Rn

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.

 z : vale 1 si el resultado fue 0. A0-n


 s: vale 1 si el resultado fue R0-n
negativo. B0-n
ALU
 c: vale 1 si hubo carry, es decir,
el resultado de la operación fue s0 z
CC
mayor al máximo número s1 s
s2
representable.
c ov
 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 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.

También podría gustarte