Está en la página 1de 48

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 (solo dos estados posibles) Por qu?
z

Es mucho ms sencillo identificar entre slo dos estados Es menos propenso a errores

Lgica digital
Circuitos que operan con valores lgicos

(Verdadero=1, Falso=0) Idea: realizar diferentes operaciones lgicas y matemticas combinando circuitos

Algebra de Boole
George Boole, desarroll un sistema algebraico para formular proposiciones con smbolos. Su lgebra consiste en un mtodo para resolver problemas de lgica que recurre solamente a los valores binarios: verdadero y falso on y off 1 y 0 George Boole Y tres operadores: 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 bit que 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 la suma booleana (+)


El operador NOT se nota con un

o una barra

Funciones booleanas

Tabla de verdad de esta funcin:

El NOT tiene ms precedencia que todos El AND ms que el OR

Identidades del Algebra de Boole


Identidad Nula Idempotencia Inversa Conmutativa Asociativa Distributiva Absorcin De Morgan 1.A=A 0.A=0 A.A=A A.=0 A.B=B.A (A.B)C=A.(B.C) A+B.C=(A+B).(A+C) A.(A+B)=A 0+A=A 1+A=1 A+A=A A+=1 A+B=B+A (A+B)+C=A+(B+C) A.(B+C)=A.B+A.C A+A.B=A

A.B = A + B

A + B = A.B

Ejemplo

Usando identidades booleanas podemos reducir esta funcin:


(X+Y)(X+Y)(X+Z) (XX + XY+YX+YY)(X+Z) (X + XY+YX + 0) (X+Z) (X + X(Y+Y)) (X+Z) (X) (X+Z) XX+XZ XZ DeMorgan Distributiva Indempotencia e Inversa Nula y Distributiva Inversa, Identidad y Nula Distributiva Inversa e Identidad

Frmulas equivalentes
Varias frmulas pueden tener la

misma tabla de verdad


z

Son lgicamente equivalentes

En general se suelen elegir las formas

cannicas
z

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
z

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 z En realidad, estn formadas por uno o varios transitores, pero lo podemos ver como una unidad. z 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 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 M 0 0 0 1 0 1 1 1

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

Compuertas lgicas

NAND y NOR son dos compuertas muy importantes. Con la identidad de Morgan se pueden implementar con AND u OR. Son ms baratas y cualquier operacin bsica se puede representar usndolas cualquiera de ellas (sin usar la otra)

Multiplexores

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 al

(casi) 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 carry A este circuito se lo llama Half-Adder

X Half Adder Y

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

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

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

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

Cmo se suman nmeros de dos bits? Ej: 1 1 1 + 1 1 ___________________ 1 1 0 1 Ci X Y

Full Adder
Co

Se necesita un Full Adder que considere 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-Adder

Podemos adaptar nuestro half-adder para convertirlo en un full adder?

Ci X

Half Y Adder

X Y

Half Adder

Co C

Full Adder

Full-Adder
He aqu el full adder

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

Ae A Full Adder

As

As

A1 B1 HA

As FA As FA As FA As

C1

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

C2

C3

C4 C5

Decodificadores
seleccionar una de 2n salidas Son muy importantes Por ejemplo:
z

Decodificadores de n entradas pueden

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 a 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 z Dada una entrada la direcciona entre n salidas, usando log2n lneas de control.
z

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:
z

A, B, Carry A.B, A+B, NOT B, Suma(A,B,Carry) Resultado, CarryOut

Cuatro operaciones:
z

Salidas
z

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/derived_gates.html Para ver Compuertas logicas en detalle: http://www.csc.sdstate.edu/%7egamradtk/ csc317/csc317notes.html

También podría gustarte