Está en la página 1de 10

INGENIERA EN SISTEMAS COMPUTACIONALES

Lecturas para la materia Ingeniera del Hardware I

INGENIERA EN SISTEMAS COMPUTACIONALES

Capitulo 3 Introduccin al lgebra de Boole


3.1 Algebra de Boole Muchos componentes utilizados en sistemas de control, como contactores y rels, presentan dos estados claramente diferenciados (abierto o cerrado, conduce o no conduce). A este tipo de componentes se les denomina componentes todo o nada o tambin componentes lgicos. Para estudiar de forma sistemtica el comportamiento de estos elementos, se representan los dos estados por los smbolos 1 y 0 (0 abierto, 1 cerrado). De esta forma podemos utilizar una serie de leyes y propiedades comunes con independencia del componente en s; da igual que sea una puerta lgica, un rel, un transistor, etc... Atendiendo a este criterio, todos los elementos del tipo todo o nada son representables por una variable lgica, entendiendo como tal aquella que slo puede tomar los valores 0 y 1. El conjunto de leyes y reglas de operacin de variables lgicas se denomina lgebra de Boole, ya que fu George Boole quien desarroll las bases de la lgica matemtica. Operaciones lgicas bsicas Sea un conjunto formado por slo dos elementos que designaremos por 0 y 1. Llamaremos variables lgicas a las que toman slo los valores del conjunto, es decir 0 o 1. En dicho conjunto se definen tres operaciones bsicas: SUMA LOGICA: Denominada tambin operacin "O" (OR). Esta operacin responde a la siguiente tabla:
a 0 0 1 1 b 0 1 0 1 a+b 0 1 1 1

PRODUCTO LOGICO: Denominada tambin operacin "Y" (AND). Esta operacin responde a la siguiente tabla:
a 0 0 1 1 b 0 1 0 1 a*b 0 0 0 1

INGENIERA EN SISTEMAS COMPUTACIONALES

NEGACION LOGICA: Denominada tambin operacin "N" (NOT). Esta operacin responde a la siguiente tabla:
a 0 1 a' 1 0

Propiedades del lgebra de Boole Las propiedades del conjunto en el que se han definido las operaciones (+, *, ') son las siguientes: PROPIEDAD CONMUTATIVA: De la suma: a+b = b+a Del producto: a*b = b*a PROPIEDAD ASOCIATIVA: De la suma: (a+b)+c = a+(b+c) = a+b+c Del producto: (a*b)*c = a*(b*c) = a*b*c LEYES DE IDEMPOTENCIA: De la suma: a+a = a ; a+a' = 1 Del producto: a*a = a ; a*a' = 0 PROPIEDAD DISTRIBUTIVA: De la suma respecto al producto: a*(b+c) = (a*b) + (a*c) Del producto respecto a la suma: a + (b*c) = (a+b) * (a+c) LEYES DE DE MORGAN: (a+b+c)' = a'*b'*c' (a*b*c)' = a'+b'+c'

INGENIERA EN SISTEMAS COMPUTACIONALES

Teoremas y postulados completos

Expresin P3(a) a+0=a P4(a) a+b=b+a P5(a) a+(b+c)=(a+b)+c P6(a) a+bc=(a+b)(a+c) P7(a) a+a=1 T8(a) a+a=a T9(a) a+1=1 T10(a) a+ab=a T11(a) a+ab=a+b T12(a) (a+b)=a*b T13(a) ab+ac+bc=ab+ac T14(a) ab+ab=a T15(a) ab+abc=ab+ac T16(a) ab+ac=(a+c)(a+b)
3.2 Formas cannicas y normalizadas

Dual P3(b) a*1=a P4(b) a*b=b*a P5(b) a(b*c)=(a*b)c P6(b) a(b+c)=ab+ac P7(b) a*a=0 T8(b) a*a=a T9(b) a*0=0 T10(b) a(a+b)=a T11(b) a(a+b)=ab T12(b) (a*b)=a+b T13(b) (a+b)(a+c)(b+c)=(a+b)(a+c) T14(b) (a+b)(a+b)=a T15(b) (a+b)(a+b+c)=(a+b)(a+c) T16(b) (a+b)(a+c)=ac+ab

A partir de una tabla de verdad, podemos obtener mltiples expresiones para la misma funcin. Todas esas expresiones son equivalentes y podemos obtener unas expresiones de otras aplicando las propiedades del lgebra de Boole. Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de forma inmediata. Se denominan formas cannicas. Se caracterizan porque en todos los trminos de estas expresiones aparecen todas las variables. Primera forma cannica Una funcin que est en la primera forma cannica se caracteriza porque est formada por sumas de productos. Y recordemos que por ser una forma cannica, en todos sus trminos se encuentran todas sus variables. Un ejemplo de una funcin de 3 variables, expresada en la primera forma cannica es la siguiente:

INGENIERA EN SISTEMAS COMPUTACIONALES


Vemos que est constituida por la suma de tres trminos y en cada uno de los trminos estn todas las variables. La obtencin de la primera forma cannica, a partir de una tabla de verdad es inmediato. El proceso se denomina desarrollo de la tabla de verdad por unos. Tomamos la tabla de verdad y slo nos fijamos en las filas en las que la funcin vale 1, olvidndonos del resto. Por cada una de estas filas tendremos un sumando, constituido por el producto de todas las variables, aplicando la siguiente regla: Si una variable est a 0, en la fila escogida, usaremos la variable negada, y si est a 1 usaremos la variable sin negar.

Segunda forma cannica Un funcin en la segunda forma cannica se caracteriza porque est formada por un producto de sumas. Y en todos sus trminos deben aparecer todas sus variables, bien negadas o no. Por ejemplo: est constituida por dos trminos que van multiplicados, y cada uno de ellos est formado por sumas. La obtencin de la segunda forma cannica, a partir de una tabla de verdad es inmediato. El proceso se denomina desarrollo de la tabla de verdad por ceros. Tomamos la tabla de verdad y slo nos fijamos en las filas en las que la funcin vale 0, olvidndonos del resto. Por cada una de estas filas tendremos un trmino, constituido por la suma de todas las variables, aplicando la siguiente regla: Si una variable est a 1, en la fila escogida, usaremos la variable negada, y si est a 0 usaremos la variable sin negar. Es decir, que esta regla es justo la contraria que cuando estbamos trabajando con la primera forma cannica.

3.3 Compuertas y operadores lgicos


A partir de las operaciones lgicas bsicas se pueden realizar otras operaciones booleanas, las cuales son: NAND, cuya tabla correspondiente es:
a 0 0 1 1 b 0 1 0 1 (a*b)' 1 1 1 0

NOR, cuya tabla correspondiente es:


a 0 0 1 b 0 1 0 (a+b)' 1 0 0

INGENIERA EN SISTEMAS COMPUTACIONALES


1 1 0

XOR, tambin llamada funcin OR-EXCLUSIVA. Responde a la tabla:


a 0 0 1 1 b 0 1 0 1 a(+)b 0 1 1 0

Compuertas lgicas
Todas las funciones lgicas vistas hasta el momento poseen una representacin normalizada, la cual se muestra en la figura siguiente:

Toda puerta lgica consta de 1 o ms entradas y 1 o 2 salidas (puede darse el caso de proporcionarse la salida y su negada). En todos los smbolos las entradas se encuentran a la izquierda y las salidas a la derecha. Estas compuertas las podemos encontrar empaquetadas dentro de distintos circuitos integrados. Por ejemplo, para la familia lgica TTL tenemos las siguientes referencias: 54/74 (LS) 00 54/74 (LS) 02 54/74 (LS) 04 54/74 (LS) 08 54/74 (LS) 10 54/74 (LS) 11 54/74 (LS) 20 Cudruple puerta NAND de dos entradas Cudruple puerta NOR de dos entradas Sxtuple puerta NOT Cudruple puerta AND de dos entradas Triple puerta NAND de tres entradas Triple puerta AND de tres entradas Doble puerta NAND de cuatro entradas 6

INGENIERA EN SISTEMAS COMPUTACIONALES


54/74 (LS) 21 54/74 (LS) 27 54/74 (LS) 30 54/74 (LS) 32 Doble puerta AND de cuatro entradas Triple puerta NOR de tres entradas Puerta NAND de ocho entradas Cudruple puerta OR de dos entradas

Las puertas lgicas ms frecuentes, baratas, y fciles de encontrar son las NAND. Debido a esto se suelen implementar circuitos digitales con el mayor nmero de dichas puertas. Hay que mencionar en este punto que los niveles de tensin que se corresponden con los niveles lgicos 1 y 0 dependen de la familia lgica empleada. De momento basta saber que la familia TTL se alimenta con +5V, por lo que los niveles de tensin se correspondern con +5V para el 1 lgico y 0V para el 0 lgico (idealmente hablando). 3.4 Equivalencia de Funciones lgicas La aplicacin ms directa de las puertas lgicas es la combinacin entre dos o ms de ellas para formar circuitos lgicos que responden a funciones lgicas. Una funcin lgica hace que una o ms salidas tengan un determinado valor para un valor determinado de las entradas. Supongamos que tenemos dos entradas, A y B, y una salida F. Vamos a hacer que la salida sea 1 lgico cuando A y B tengan el mismo valor, siendo 0 la salida si A y B son diferentes. En primer lugar veamos los valores de A y B que hacen 1 la funcin: A=1yB=1 A=0yB=0 Es decir, podemos suponer dos funciones de respuesta para cada caso: F1 = A*B (A y B a 1 hacen F1 1) F2 = A'*B' (A y B a 0 hacen F2 1) La suma de estas funciones ser la funcin lgica final que buscamos: F = F1 + F2 = (A*B)+(A'*B') A continuacin vamos a ver como en muchos casos es posible simplificar la funcin lgica final en otra ms simple sin alterar el funcionamiento del circuito. Simplificacin de funciones 7

INGENIERA EN SISTEMAS COMPUTACIONALES


Supongamos que tenemos un circuito donde "F" es la respuesta (salida) del mismo en funcin de las seales A, B, y C (entradas): F = A*B*C + A'*B*C + B*C Esta funcin puede ser simplificable aplicando las propiedades del lgebra de Boole. En primer lugar aplicamos la propiedad distributiva: F = B*C*(A+A') + B*C Ahora aplicamos las leyes de idempotencia: F = B*C + B*C = B*C Como hemos podido ver en este ejemplo en muchas ocasiones se puede simplificar la funcin (y por tanto el circuito) sin que ello afecte al resultado.

DEFINICION: Es una forma de representacin de una funcin en la que se indica el valor 0 o 1 para cada valor que toma sta por cada una de las posibles combinaciones que las variables de entrada pueden tomar. Anteriormente hemos visto las tablas de respuesta de cada una de las operaciones lgicas; estas tablas son tablas de verdad de sus correspondientes puertas lgicas. La tabla de verdad es la herramienta que debemos emplear para obtener la forma cannica de la funcin del circuito, para as poder simplificar y conseguir la funcin ms ptima. Veamos un ejemplo de un circuito y la tabla de verdad correspondiente:
ABCDF 00001 00011 00101 00111 01001 01011 01101 01111 10001 10011 10101 10111

INGENIERA EN SISTEMAS COMPUTACIONALES


110 110 111 111 0 1 0 1 1 1 1 0

Como podemos ver, si simplificamos la funcin obtenemos: F = (A*B*C*D)' es decir, un puerta NAND de 4 entradas.

Familias lgicas
Los circuitos digitales emplean componentes encapsulados, los cuales pueden albergar puertas lgicas o circuitos lgicos ms complejos. Estos componentes estn estandarizados, para que haya una compatibilidad entre fabricantes, de forma que las caractersticas ms importantes sean comunes. De forma global los componentes lgicos se engloban dentro de una de las dos familias siguientes: TTL: diseada para una alta velocidad. CMOS: diseada para un bajo consumo. Actualmente dentro de estas dos familias se han creado otras, que intentan conseguir lo mejor de ambas: un bajo consumo y una alta velocidad. No se hace referencia a la familia lgica ECL, la cual se encuentra a caballo entre la TTL y la CMOS. Esta familia naci como un intento de conseguir la rapidez de TTL y el bajo consumo de CMOS, pero en raras ocasiones se emplea. Comparacin de las familias
PARAMETRO TTL estndar TTL 74L TTL Schottky de bajaFairchild 4000BFairchild 4000B CMOS potencia (LS) CMOS (con Vcc=5V) (con Vcc=10V) 40 ns 8 MHz 10 nW 2V 50 (*) 20 ns 16 MHz 10 nW 4V 50 (*)

Tiempo de propagacin 10 ns de puerta Frecuencia mxima de 35 MHz funcionamiento Potencia disipada por 10 mW puerta Margen de ruido admisible 1 V Fan out 10

33 ns 5 ns 3 MHz 45 MHz 1 mW 2 mW 1V 10 0'8 V 20

(*) O lo que permita el tiempo de propagacin admisible 9

INGENIERA EN SISTEMAS COMPUTACIONALES

Bibliografa Mano, Morris Sistemas digitales. Ed. Prentice Hall Mano, Morris Arquitectura de computadoras y diseo lgico. Ed. Prentice Hall Tocci, S Sistemas digitales. Ed. Prentice Hall Mandado, Enrique Sistemas Electrnicos Digitales. Ed. Alfaomega Web de la UPSAM. http://www.upsam.com/ Hojas de datos Texas instruments

10