Documente Academic
Documente Profesional
Documente Cultură
El lgebra booleana es un sistema matemtico deductivo centrado en los valores cero y uno (falso
y verdadero). Un operador binario " " definido en ste juego de valores acepta un par de
entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos
entradas booleanas y produce una sola salida booleana.
Para cualquier sistema algebraico existen una serie de postulados iniciales, de aqu se pueden
deducir reglas adicionales, teoremas y otras propiedades del sistema, el lgebra booleana a
menudo emplea los siguientes postulados:
Distributivo. Dos operadores binarios " " y " % " son distributivos si A (B % C) = (A B) %
(A C) para todos los valores booleanos A, B, y C.
la derecha.
Utilizaremos adems los siguientes postulados:
P4 y + son distributivos uno con respecto al otro, esto es, A (B+C) = (AB)+(AC) y A+
(BC) = (A+B) (A+C).
P5 Para cada valor A existe un valor A' tal que AA' = 0 y A+A' = 1. ste valor es el
complemento lgico de A.
Es posible probar todos los teoremas del lgebra booleana utilizando stos postulados, adems es
buena idea familiarizarse con algunos de los teoremas ms importantes de los cuales podemos
mencionar los siguientes:
Teorema 1: A + A = A
Teorema 2: A A = A
Teorema 3: A + 0 = A
Teorema 4: A 1 = A
Teorema 5: A 0 = 0
Teorema 6: A + 1 = 1
Teorema 9: A + A B = A
Teorema 10: A (A + B) = A
Los teoremas siete y ocho son conocidos como Teoremas de DeMorgan en honor al matemtico
que los descubri.
Caractersticas:
Un lgebra de Boole es un conjunto en el que destacan las siguientes caractersticas:
1- Se han definido dos funciones binarias (que necesitan dos parmetros) que llamaremos aditiva
(que representaremos por x
+ y) y multiplicativa (que representaremos por xy) y una funcin monaria (de un solo
parmetro) que representaremos por x'.
2- Se han definido dos elementos (que designaremos por 0 y 1)
Y 3- Tiene las siguientes propiedades:
digitales. Para cada funcin booleana es posible disear un circuito electrnico y viceversa, como
las funciones booleanas solo requieren de los operadores AND, OR y NOT podemos construir
nuestros circuitos utilizando exclusivamente stos operadores utilizando las compuertas lgicas
homnimas
Un hecho interesante es que es posible implementar cualquier circuito electrnico utilizando una
sola compuerta, sta es la compuerta NAND
Para probar que podemos construir cualquier funcin booleana utilizando slo compuertas NAND,
necesitamos demostrar cmo construir un inversor (NOT), una compuerta AND y una compuerta
OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar cualquier
funcin booleana utilizando slo los operadores booleanos AND, OR y NOT. Para construir un
inversor simplemente conectamos juntas las dos entradas de una compuerta NAND. Una vez que
tenemos un inversor, construir una compuerta AND es fcil, slo invertimos la salida de una
compuerta NAND, despus de todo, NOT ( NOT (A AND B)) es equivalente a A AND B. Por
supuesto, se requieren dos compuertas NAND para construir una sola compuerta AND, nadie ha
dicho que los circuitos implementados slo utilizando compuertas NAND sean lo ptimo, solo se
ha dicho que es posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta
lgica OR, sto es sencillo si utilizamos los teoremas de DeMorgan, que en sntesis se logra en tres
pasos, primero se reemplazan todos los "" por "+" despus se invierte cada literal y por ltimo se
niega la totalidad de la expresin:
A OR B
A AND B.......................Primer paso para aplicar el teorema de DeMorgan
A' AND B'.....................Segundo paso para aplicar el teorema de DeMorgan
(A' AND B')'..................Tercer paso para aplicar el teorema de DeMorgan
(A' AND B')' = A' NAND B'.....Definicin de OR utilizando NAND
Si se tiene la necesidad de construir diferentes compuertas de la manera descrita, bien hay dos
buenas razones, la primera es que las compuertas NAND son las ms econmicas y en segundo
lugar es preferible construir circuitos complejos utilizando los mismos bloques bsicos. Observe
que es posible construir cualquier circuito lgico utilizando slo compuertas de tipo NOR (NOR =
NOT(A OR B)). La correspondencia entre la lgica NAND y la NOR es ortogonal entre la
correspondencia de sus formas cannicas. Mientras que la lgica NOR es til en muchos circuitos,
la mayora de los diseadores utilizan lgica NAND.
Circuitos Combinacionales
Un circuito combinacional es un sistema que contiene operaciones booleanas bsicas (AND, OR,
NOT), algunas entradas y un juego de salidas, como cada salida corresponde a una funcin lgica
individual, un circuito combinacional a menudo implementa varias funciones booleanas
diferentes, es muy importante recordar ste echo, cada salida representa una funcin booleana
diferente.
Un ejemplo comn de un circuito combinacional es el decodificador de siete segmentos, se trata
de un circuito que acepta cuatro entradas y determina cul de los siete segmentos se deben
iluminar para representar la respectiva entrada, de acuerdo con lo dicho en el prrafo anterior, se
deben implementar siete funciones de salida diferentes, una para cada segmento. Las cuatro
entradas para cada una de stas funciones booleanas son los cuatro bits de un nmero binario en
el rango de 0 a 9. Sea D el bit de alto orden de ste nmero y A el bit de bajo orden, cada funcin
lgica debe producir un uno (para el segmento encendido) para una entrada dada si tal segmento
en particular debe ser iluminado, por ejemplo, el segmento e debe iluminarse para los valores
0000, 0010, 0110 y 1000.
En la siguiente tabla se puede ver qu segmentos deben iluminarse de acuerdo al valor de
entrada, tenga en cuenta que slo se estn representando valores en el rango de 0 a 9, los
decodificadores para las pantallas de siete segmentos comerciales tienen capacidad para
desplegar valores adicionales que corresponden a las letras A a la F para representaciones
hexadecimales, sin embargo la mecnica para iluminar los respectivos segmentos es similar a la
aqu representada para los valores numricos.
0 a b c d e f
1
b c
2 a b
d e
3 a b c d
4
b c
g
g
f g
5 a
c d
f g
c d e f g
7 a b c
8 a b c d e f g
9 a b c
f g
cualquier cambio en los valores de entrada se refleja (despus de un intervalo de tiempo llamado
retardo de propagacin) en las salidas. Desafortunadamente las computadoras requieren de la
habilidad para "recordar" el resultado de clculos pasados. ste es el dominio de la lgica
secuencial. Una celda de memoria es un circuito electrnico que recuerda un valor de entrada
despus que dicho valor ha desaparecido. La unidad de memoria ms bsica es el flip-flop
Set/Reset. Aunque recordar un bit sencillo es importante, la mayora de los sistemas de cmputo
requieren recordar un grupo de bits, sto se logra combinando varios flip-flop en paralelo, una
conexin de ste tipo recibe el nombre de registro. A partir de aqu es posible implementar
diferentes circuitos como registros de corrimiento y contadores, stos ltimos tambin los
conocemos como circuitos de reloj. Con los elementos mencionados es posible construir
un microprocesador completo.
Relacin entre la lgica combinacional y secuencial con la programacin
En sta leccin hemos dado una repasada muy bsica a los elementos que forman la base de los
modernos sistemas de cmputo, en la seccin dedicada al diseo electrnico estudiaremos a
profundidad los conceptos aqu presentados, pero para aquellos que estn ms interesados en el
aspecto programtico podemos decir que con los elementos vistos en sta leccin es posible
implementar mquinas de estado, sin embargo la moraleja de sta leccin es muy importante:
cualquier algoritmo que podamos implementar en software, lo podemos a su vez implementar
directamente en hardware. sto sugiere que la lgica booleana es la base computacional en los
modernos sistemas de cmputo actuales. Cualquier programa que Usted escriba,
independientemente del lenguaje que utilice, sea ste de alto bajo nivel, se puede especificar
como una secuencia de ecuaciones booleanas.
Un hecho igualmente interesante es el punto de vista opuesto, es posible implementar cualquier
funcin de hardware directamente en software, en la actualidad sta es la funcin principal del
lenguaje ensamblador y otros con capacidad de trabajar directamente en hardware, como el C y el
C++. Las consecuencias de ste fenmeno apenas se estn explotando, se infiere la existencia de
un futuro muy prometedor para el profesional de la programacin, especialmente aquellos
dedicados a los sistemas incrustados (embedded systems), los microcontroladores y los
profesionales dedicados a la Programacin Orientada a Objetos. Para tener xito en stos campos
de la investigacin es fundamental comprender las funciones booleanas y la manera de
implementarlas en software. An y cuando Usted no desee trabajar en hardware, es importante
conocer las funciones booleanas ya que muchos lenguajes de alto nivel procesan expresiones
booleanas, como es el caso de los enunciados if-then los bucles while.
Los Teoremas Bsicos Del Algebra Booleana
Los Teoremas Bsicos del lgebra Booleana son:
TEOREMA 1
Ley Distributiva
A (B+C) = AB+AC
A B C B+C AB AC AB+AC
A (B+C)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
TEOREMA 2
A+A = A
AA = A
A A A+A
0 0 0
1 1 1
A A AA
0 0 0
1 1 1
TEOREMA 3
Redundancia
A+AB = A
A B AB X
0 0 0
0 1 0
1 0 0
1 1 1
A (A+B) = A
A B A+B X
0 0 0
0 1 1
1 0 1
1 1 1
TEOREMA 4
0+A = A
Equivalente a una compuerta OR con una de sus terminales conectada a tierra
A B=0 X
0 0
1 0
1A = A
Equivalente a una compuerta AND con una de sus terminales conectada a 1
A B=1 X
0 1
1 1
1+A = 1
A B=1 X
0 1
1 1
0A = 0
A B=0 X
0 0
1 0