Está en la página 1de 47

Organizacin del

Computador 1
Lgica Digital 1
Algebra de Boole y compuertas

Representacin de la Informacin
La computadoras necesitan almacenar

datos e instrucciones en memoria


Sistema binario (slo dos estados
posibles)
Por qu?

Es mucho ms sencillo identificar entre slo


dos estados
Es menos propenso a errores

Lgica digital
Los circuitos operan con valores [0, 1], que

pueden ser interpretados lgicamente


como [Falso, Verdadero].
Idea: implementar las operaciones lgicas

y matemticas combinando circuitos

Algebra de Boole
George Boole, desarroll un sistema
algebraico para formalizar la lgica
proposicional. El libro se llama Anlisis
matemtico de la lgica.
El sistema consiste en un clculo para
resolver problemas de lgica
proposicional (dos valores posibles [0, 1]
George Boole y tres operaciones:
AND (y)
1815-1864
OR (o)
NOT (no) )

Algebra de Boole
Las variables Booleanas slo toman
los valores binarios: 1 0.
Una variable Booleana representa
un el balor que puede tomar un bit,
que como vimos quiere decir:
Binary digIT

Operadores bsicos
Un operador booleano puede ser

completamente descripto usando


tablas de verdad.
El operador AND es conocido como

producto booleano (.) y el OR como


co-producto booleano (+)
El operador NOT

( una barra
encima de la expresin) conocido
como complemento.

Funciones booleanas

Tabla de verdad de
esta funcin:

El NOT tiene ms
precedencia que el resto
de los operadores

Y el AND ms que el OR

Identidades del Algebra de Boole


Identidad

1.A=A

0+A=A

Nula

0.A=0

1+A=1

Idempotencia

A.A=A

A+A=A

Inversa

A.A=0

A+A=1

Conmutativa

A.B=B.A

A+B=B+A

Asociativa

(A.B)C=A.(B.C)

(A+B)+C=A+(B+C)

Distributiva

A+B.C=(A+B).(A+C)

A.(B+C)=A.B+A.C

Absorcin

A.(A+B)=A

A+A.B=A

De Morgan

(A.B) = A+B

(A+B) = A.B

Ejemplo

Usando identidades booleanas podemos reducir esta


funcin:
(X+Y)(X+Y)(X+Z)

DeMorgan

(XX + XY+YX+YY)(X+Z)

Distributiva

(X + XY+YX + 0) (X+Z)

Indempotencia e Inversa

(X + X(Y+Y)) (X+Z)

Nula y Distributiva

(X) (X+Z)

Inversa, Identidad y Nula

XX+XZ

Distributiva

XZ

Inversa e Identidad

Frmulas equivalentes
Varias frmulas pueden tener la misma

tabla de verdad

Son lgicamente equivalentes

En general se suelen elegir formas

normales

Suma de productos:
F(x,y,z) = xy + xz +yz

Producto de sumas:
F(x,y,z) = (x+y) . (x+z) .(y+z)

Suma de Productos
Es fcil convertir una
funcin a una suma de
productos usando la tabla
de verdad.
Elegimos los valores que
dan 1 y hacemos un
producto (AND) de la fila
(negando si aparece un 0)
Luego sumamos todo (OR)

F(x,y,z) = (xyz)+(xyz)+(xyz)+(xyz)+(xyz)

Circuitos booleanos
Las computadores digitales contienen

circuitos que implementan funciones


booleanas
Cuando ms simple la funcin ms chico
el circuito

Son ms baratos, consumen menos, y en


ocasiones son mas rpidos!

Podemos usar las identidades del algebra


de Boole para reducir estas funciones.

Compuertas lgicas

Una compuerta es un dispositivo electrnico


que produce un resultado en base a un
conjunto de valores de valores de entrada

En realidad, estn formadas por uno o


varios transitores, pero lo podemos ver
como una unidad.
Los circuitos integrados contienen
colecciones de compuertas conectadas con
algn propsito

Compuertas Lgicas

Las ms simples: AND, OR, y NOT.

Se corresponden exactamente con las funciones


booleanas que vimos

Compuertas lgicas
Una compuerta muy til: el OR exclusivo (XOR)
La salida es 1 cuando los valores de entrada
difieren.

Usamos el simbolo para


el XOR.

Componentes digitales
Combinando compuertas se pueden

implementar funciones booleanas


Este circuito implementa la siguiente
funcin:

Simplificando las funciones se crean


circuitos ms chicos!

Ejemplo: La funcin Mayora


A

M(A, B, C) ABC A BC ABC ABC

Compuertas lgicas
NAND y NOR son dos
compuertas muy
importantes.
Con la identidad de De
Morgan se pueden
implementar con AND u
OR.
Son ms baratas y ambas
por s solas son un
conjunto adecuado para
la lgica proposicional. Es
decir que cualquier
operador se puede
escribir usando cualquiera
de ellas.

NAND y NOR

Ejercicio

Ejemplo: NOT usando NAND

Utilizando solo NAND o NOR


realizar circuitos con la
misma funcionalidad que el
AND y OR

Circuitos combinatorios
Producen una salida especfica (casi)

al instante que se le aplican valores de


entrada
Implementan funciones booleanas
La aritmtica y la lgica de la CPU se
implementan con estos circuitos

Sumadores
Como podemos

construir un circuito
que sume dos bits X
e Y?
F(X,Y) = X + Y (suma
aritmtica)
Que pasa si X=1 e
Y=1?

Half-Adder

Podemos usar un XOR para


la suma y un AND para el
acarreo

A este circuito se lo llama


Half-Adder

X
Half
Adder
Y

Full Adders
Cmo se suman nmeros de dos bits?
Ej:
1
1
+
1
1
___________________

Full Adders
Cmo se suman nmeros de dos bits?
Ej:
1
1
1
+
1
1
___________________
0

Full Adders
Cmo se suman nmeros de dos bits?
Ej:
1

1
1
1
+
1
1
___________________
1

Full Adders
Cmo se suman nmeros de dos bits?
Ej:
1

1
1
1
+
1
1
___________________
1

Full Adders
Cmo se suman nmeros de dos bits?
Ci

Ej:
1
1
1
+
1
1
___________________

Full Adder
Co

Y
1

En el caso de los Full Adders se asume que poseen una entrada ms, el acarreo.

Full-Adder
Cmo es la tabla de
verdad de un Full
Adder?
Podemos mejorar
nuestro half-adder
para considerar un
acarreo en la
entrada.

Full Adders
Ci
X

Half
Y Adder

X
Y

Half
Adder

Co
C

Full Adder

Full Adders
He aqu el full adder

Adders
Ejercicio:

A4 A3 A2 A1
disear un sumador de cuatro bits + B4 B3 B2 B1
usando half y/o full adders.
C5 C4 C3 C2 C1

A
Half
Adder
B

A
As

Ae

Full
Adder
As

Adders

A1
B1

Sumador de cuatro bits:


A4 A3 A2 A1
+ B4 B3 B2 B1
C5 C4 C3 C2 C1

Ae
A2
B2
Ae
A3
B3
Ae
A4
B4

HA

As

FA

C3

As

FA

C2

As

FA

C1

As

C4
C5

Decodificadores
Decodificadores de n entradas pueden
seleccionar una de 2n salidas
Son muy importantes, por ejemplo:

Seleccionar una locacin en una memoria a partir


de una direccin colocada en el bus memoria

Decodificadores - Ejemplo
Decodificador 2-a-4

Si x = 0 e y = 1, que
lnea de salida
queda habilitada?

Multiplexores

Selecciona una salida de


varias entradas
La entrada que es
seleccionada como salida es
determinada por las lneas
de control
Para seleccionar entre n
entradas, se necesitan log2n
lneas de control.

Demultiplexor
Exactamente lo contrario
Dada una entrada la
direcciona entre n salidas,
usando log2n lneas de control.

Multiplexor - Ejemplo

As luce un multiplexor 4-a-1

Si S0 = 1 y S1 = 0,
que entrada es
transferida a la
salida?

Funcin Mayora

Ejercicio: Implementar la funcin


Mayora con un Multiplexor

Ejercicio: Implementar la funcin


Mayora con un Multiplexor

Ejercicio
Construir una 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 1bit

Full Adder

Decoder

Alu de 1bit

Un ALU de 8 bits

Memoria ROM

ROM usando un decoder

Links
Libro Tanenbaum
Demo compuertas:

http://www.play-hookey.com/digital/derive
d_gates.html
Para ver Compuertas logicas en detalle:
http://www.csc.sdstate.edu/%7egamradtk/
csc317/csc317notes.html

También podría gustarte