Está en la página 1de 48

Organización del Computador 1

Lógica Digital 1 Algebra de Boole y compuertas

Representación de la Información
¾ La computadoras necesitan almacenar

datos e instrucciones en memoria ¾ Sistema binario (solo dos estados posibles) ¾ Por qué?
z

z

Es mucho más sencillo identificar entre sólo dos estados Es menos propenso a errores

Lógica digital
¾ Circuitos que operan con valores lógicos

(Verdadero=1, Falso=0) ¾ Idea: realizar diferentes operaciones lógicas y matemáticas combinando circuitos

Algebra de Boole
George Boole, desarrolló un sistema algebraico para formular proposiciones con símbolos. Su álgebra consiste en un método para resolver problemas de lógica 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 sólo toman los valores binarios: 1 ó 0. Una variable Booleana representa un bit que quiere decir: Binary digIT .

¾ 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 .Operadores básicos ¾ Un operador booleano puede ser completamente descripto usando tablas de verdad.

Funciones booleanas ¾ Tabla de verdad de esta función: ¾ El NOT tiene más precedencia que todos ¾ El AND más que el OR .

B=B.(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.A (A.C A+A.A=A 0.B = A + B A + B = A.Ã=0 A.(A+C) A.B .B+A.C=(A+B).A=0 A.B=A A.(B+C)=A.C) A+B.A=A A.Identidades del Algebra de Boole Identidad Nula Idempotencia Inversa Conmutativa Asociativa Distributiva Absorción De Morgan 1.(B.B)C=A.

Identidad y Nula Distributiva Inversa e Identidad .Ejemplo ¾ Usando identidades booleanas podemos reducir esta función: (X+Y)(X+¬Y)(¬X+Z) (XX + X¬Y+YX+Y¬Y)(¬X+Z) (X + X¬Y+YX + 0) (¬X+Z) (X + X(¬Y+Y)) (¬X+Z) (X) (¬X+Z) X¬X+XZ XZ DeMorgan Distributiva Indempotencia e Inversa Nula y Distributiva Inversa.

(x+z) .y.z) = (x+y) .z) = xy + xz +yz z Producto de sumas: • F(x.Fórmulas equivalentes ¾ Varias fórmulas pueden tener la misma tabla de verdad z Son lógicamente equivalentes ¾ En general se suelen elegir las formas “canónicas” z Suma de productos: • F(x.(y+z) .y.

¾ 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.Suma de Productos Es fácil convertir una función a una suma de productos usando la tabla de verdad.y.z) = (¬xy¬z)+(¬xyz)+(x¬y¬z)+(xy¬z)+(xyz) .

. consumen menos.Circuitos booleanos ¾ Las computadores digitales contienen circuitos que implementan funciones booleanas ¾ Cuando más simple la función más chico el circuito z Son más baratos. y en ocasiones son mas rápidos! ¾ Podemos usar las identidades del algebra de Boole para reducir estas funciones.

pero lo podemos ver como una unidad. están formadas por uno o varios transitores.Compuertas lógicas ¾ Una compuerta es un dispositivo electrónico que produce un resultado en base a un conjunto de valores de valores de entrada z En realidad. z Los circuitos integrados contienen colecciones de compuertas conectadas con algún propósito .

OR. ¾ Se corresponden exactamente con las funciones booleanas que vimos .Compuertas Lógicas ¾ Las más simples: AND. y NOT.

.Compuertas lógicas ¾ 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 función: Simplificando las funciones se crean circuitos más chicos! .

Ejemplo: La función Mayoría 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. C) = ABC + A BC + ABC + ABC . B.

¾ Con la identidad de Morgan se pueden implementar con AND u OR.Compuertas lógicas ¾ NAND y NOR son dos compuertas muy importantes. ¾ Son más baratas y cualquier operación básica se puede representar usándolas 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 específica al (casi) instante que se le aplican valores de entrada ¾ Implementan funciones booleanas ¾ La aritmética y la lógica de la CPU se implementan con estos circuitos .

Y) = X + Y (suma aritmética) ¾ Que pasa si X=1 e Y=1? .Sumadores ¾ Como podemos construir un circuito que sume dos bits X e Y? ¾ F(X.

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 ∑ C .

¿Cómo se suman números de dos bits? Ej: 1 1 + 1 1 ___________________ .

¿Cómo se suman números de dos bits? Ej: 1 1 1 + 1 1 ___________________ 0 .

¿Cómo se suman números de dos bits? Ej: 1 1 1 + 1 1 ___________________ 1 0 1 .

Full Adders ¿Cómo se suman números de dos bits? Ej: 1 1 1 + 1 1 ___________________ 1 1 0 1 .

.¿Cómo se suman números 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 Cómo 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 ∑ C ∑ Half Y Adder X Y Half Adder ∑ Co C Full Adder .

Full-Adder ¾ He aquí el full adder .

C5 C4 C3 C2 C1 A Half Adder B ∑ Ae A Full Adder ∑ As B As .Ejercicio: A4 A3 A2 A1 diseñar un sumador de cuatro bits + B4 B3 B2 B1 usando half y/o full adders.

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 locación en una memoria a partir de una dirección colocada en el bus memoria .

que línea de salida queda habilitada? .Ejemplo ¾ Decodificador 2-a-4 Si x = 0 e y = 1.Decodificadores .

Demultiplexor Exactamente lo contrario z Dada una entrada la direcciona entre n salidas. z . usando log2n líneas de control. se necesitan log2n líneas de control.Multiplexores ¾ ¾ ¾ Selecciona una salida a de varias entradas La entrada que es seleccionada como salida es determinada por las líneas de control Para seleccionar entre n entradas.

Ejemplo ¾ Así luce un multiplexor 4-a-1 Si S0 = 1 y S1 = 0.Multiplexor . que entrada es transferida a la salida? .

Función Mayoría .

Ejercicio: Implementar la función Mayoría con un Multiplexor .

Ejercicio: Implementar la función Mayoría con un Multiplexor .

Ejercicio ¾ Construir una ALU de 1 bit ¾ 3 entradas: z A.B. B. NOT B. A+B. CarryOut ¾ Cuatro operaciones: z ¾ Salidas z . Carry A.Carry) Resultado.B. Suma(A.

Alu de 1bit Full Adder Decoder .

Alu de 1bit .

Un ALU de 8 bits .

Memoria ROM .

ROM usando un decoder .

csc.html ¾ Para ver Compuertas logicas en detalle: http://www.edu/%7egamradtk/ csc317/csc317notes.com/digital/derived_gates.play- hookey.sdstate.Links ¾ Libro Tanenbaum ¾ Demo compuertas: http://www.html .