SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Algebra Booleana
Presenta: Marcos Omar Cruz Ortega
Cruzsoft®
17/12/2008
2
Tabla de Contenido
1 Introducción al Algebra Booleana............................................................................................... 3
2 Álgebra Booleana ........................................................................................................................ 4
2.1 Postulados del álgebra booleana ........................................................................................ 4
2.2 Ejemplos de álgebras de Boole ........................................................................................... 5
2.2.1 ÁLGEBRA DE CONJUNTOS ........................................................................................... 5
2.2.2 CIRCUITOS DE CONMUTACIÓN ................................................................................... 8
2.2.3 LÓGICA PROPOSICIONAL............................................................................................. 9
2.3 Teoremas del algebra booleana........................................................................................ 11
2.3.1 Ejemplos de simplificación de expresiones booleanas ............................................. 16
2.4 Funciones booleanas......................................................................................................... 16
2.4.1 FUNCIONES BOOLEANAS DE UNA Y DOS VARIABLES............................................... 18
2.4.2 SÍMBOLOS DE PUERTAS LÓGICAS.............................................................................. 19
2.4.3 EQUIVALENCIA ENTRE PUERTAS LÓGICAS ................................................................ 22
3 Modelo de John von Neumann (principios de 1950's).............................................................. 24
4 Concepto De Programa Almacenado........................................................................................ 29
5 Lenguaje De Maquina Instrucciones y Datos ............................................................................ 30
5.1 Lenguaje de Máquina .................................................................................................... 30
5.2 Lenguaje Ensamblador.................................................................................................. 31
5.3 Ciclo De Ejecución De Instrucciones.................................................................................. 31
3
1 Introducción al Algebra Booleana
Un algebra booleana es una estructura matemática con dos operaciones binarias y
una unitaria que tiene características similares al algebra de números reales, pero que
difiere en algunos otros aspectos. En muchos de los casos el dominio consiste en dos
valores cero y uno (falso y verdadero). Para mayor facilidad en su manejo las
operaciones se representan por +y*, el operador unitario se puede representar mediante
una raya superior a’.
El álgebra booleana es un sistema matemático 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:
Cerrado: El sistema booleano se considera cerrado con respecto a un operador binario si
para cada par de valores booleanos se produce un solo resultado booleano.
Conmutativo: Se dice que un operador binario “ º “ es conmutativo si A º B = B º A para
todos los posibles valores de A y B.
Asociativo: Se dice que un operador binario “ º “ es asociativo si (A º B) º C = A º (B º C)
para todos los valores booleanos A, B, y C.
Distributivo: Dos operadores binarios “ º “ y “ % “ son distributivos si A º (B % C) = (A º B)
% (A º C) para todos los valores booleanos A, B, y C.
Identidad: Un valor booleano I se dice que es un elemento de identidad con respecto a
un operador binario “ º “ si A º I = A.
Inverso:Un valor booleano I es un elemento inverso con respecto a un operador booleano
“ º “ si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
4
2 Álgebra Booleana
La herramienta fundamental para el análisis y diseño de circuitos digitales es el
Álgebra Booleana.
Esta álgebra es un conjunto de reglas matemáticas (similares en algunos aspectos
al álgebra convencional), pero que tienen la virtud de corresponder al comportamiento de
circuitos basados en dispositivos de conmutación (interruptores, relevadores, transistores,
etc). En este capítulo se presentan los postulados que definen el álgebra booleana, se
presentan en forma de teoremas los resultados más importantes, se presentan también
los tres ejemplos clásicos de álgebras boolenas
(Lógica proposicional, álgebra de conjuntos, álgebra de switches) y herramientas
básicas como tablas de verdad y diagramas de Venn.
2.1 Postulados del álgebra booleana
El Álgebra de Boole, fue presentada originalmente por el inglés George Boole, en
el año de 1854 en su artículo "An Investigation of the Laws of Thoght ... ", sin embargo,
las primeras aplicaciones a circuitos de conmutación fueron desarrolladas por Claude
Shannon en su tesis doctoral "Análisis simbólico de los circuitos de conmutación y relés"
hasta 1938. A continuación se presentan los postulados fundamentales del álgebra de
Boole
Postulado 1. Definición.
El álgebra booleana es un sistema algebraico definido en un conjunto B, el cual
contiene dos o más elementos y entre los cuales se definen dos operaciones
denominadas "suma u operación OR" ( + ) y "producto o multiplicación u operación AND"
(), las cuales cumplen con las siguientes propiedades:
5
Postulado 2. Existencia de Neutros.
Existen en B el elemento neutro de la suma, denominado O y el neutro de la
multiplicación, denominado 1, tales que para cualquier elemento x de s: (a) x + O = x (b) x.
1 = x
Postulado 3. Conmutatividad.
Para cada x, y en B: (a) x+y = y+x (b) xy =yx
Postulado 4. Asociatividad.
Para cada x, y, z en B: (a) x + (y + z) = (x + y) + z (b) x(yz) = (xy) z
Postulado 5. Distributividad.
Para cada x, y, z en B: (a) x+(yz)=(x+y) (x+z) (b) x(y+z)=(xy)+(xz)
Postulado 6. Existencia de Complementos.
Para cada x en B existe un elemento único denotado x (también denotado x’), llamado
complemento de x tal que (a) x+x = 1 (b) x x = O
2.2 Ejemplos de álgebras de Boole
En un principio algunos de los postulados anteriores pueden parecer extraños,
especialmente aquellos que son diferentes al álgebra con número reales (como el 5a, el
6a y el 6b), y puede ser difícil encontrar situaciones de interés que cumplan al pie de la
letra con cada uno de ellos, sin embargo, existen varios ejemplos, de los cuales se
presentan los siguientes tres clásicos, en los cuales se verifica que se trata de álgebras
de Boole, es decir, que se cumple postulado por postulado.
2.2.1 ÁLGEBRA DE CONJUNTOS
1. Para este ejemplo el conjunto B es el conjunto de todos los conjuntos a tratar. La
suma es la unión de conjuntos (U) y la multiplicación es la intersección () de
conjuntos.
2. Existencia de neutros. El neutro de la unión es el conjunto vacío F , mientras que
el neutro de la intersección es el conjunto universo U, ya que para cualquier
conjunto arbitrario A, A U F = A y A U = A.
3. Conmutatividad. La unión y la intersección son conmutativas, ya que para cualquier par
de conjuntos A, B: A U B = B U A y A ∩B = B ∩A
6
4. Asociatividad. La unión y la intersección de conjuntos son asociativas, ya que para
cualesquiera tres conjuntos A, B, C: A U (B U C) = (A U B) U C y A (B C) = (A
B) C
5. Distributividad. La unión de conjuntos es distributiva sobre la intersección, y
viceversa, la intersección es distributiva sobre la unión, ya que para cualesquiera
tres conjuntos A, B, C: A U (B C) = (A U B) (A U C) y A (B U C) = (A B) U (A
C)
6. Existencia de complementos. El conjunto complemento Ac cumple con las
propiedades deseadas: A U Ac = U y A Ac = F
Algunos de los enunciados anteriores pueden ser difíciles de obtener, o recordar,
especialmente la distributividad, por ello, es conveniente tener en cuenta una herramienta
gráfica en la cual estos enunciados se vuelven evidentes casi a simple vista:
2.2.1.1 DIAGRAMAS DE VENN
En la siguiente figura se muestran diagramas de Venn para los conjuntos A, B, A U B y A ∩ B
7
A continuación se muestra el conjunto A y su complemento Ac
.
Ejemplo.- En los siguientes diagramas de Venn se ilustra la manera como pueden
usarse los diagramas de Venn para ilustrar cada uno de los postulados y propiedades del
álgebra de conjuntos. En este caso se usan para ilustrar la propiedad de distributividad de
la unión sobre la intersección
8
2.2.2 CIRCUITOS DE CONMUTACIÓN
1. Para este ejemplo de álgebra de Boole, el conjunto B es el conjunto de todos los
switches o interruptores. La operación suma de switches es la conexión en
paralelo y la multiplicación de switches es la conexión en serie, como se muestra
en la siguiente figura. Los valores que pueden tomar los Switches son sólo dos:
{ON, OFF} o bien, {1,0}.
2. Existencia de neutros. El neutro de la suma, es un circuito abierto (un switch que
siempre está abierto), mientras que el neutro del producto es un corto circuito (un
switch que siempre está cerrado)
3. Conmutatividad. Evidentemente las conexiones en serie y en paralelo funcionan
de la misma manera independientemente del orden de colocación de los switches
que interconectan.
4. Asociatividad. Las conexiones en serie y en paralelo son asociativas, es decir, al
conectar tres switches en paralelo, no importa cual par se conecte primero. En
forma similar pasa con la conexión de tres switches en serie.
5. Distributividad. La conexión serie es distributiva sobre la conexión en paralelo y la
conexión paralelo es distributiva sobre la conexión en serie, en el sentido que se
ilustra en la figura siguiente.
9
Observación 1: Nótese que en la figura anterior se está suponiendo que el switch A se
puede usar en dos lugares diferentes, esto es posible físicamente simplemente
construyendo dos switches acoplados mecánicamente de manera que cuando uno esté
abierto el otro también lo esté y cuando uno esté cerrado, el otro también se cierre.
Observación 2: Jerarquía de operaciones.- En adelante, se utilizará la notación
algebraica utilizada en la figura anterior, en la cual se supone que cuando en una misma
expresión aparecen sumas y productos sin usar paréntesis se realiza primero el producto
y luego la suma. Cuando se quiere alterar este orden de jerarquía de operaciones se usan
paréntesis para indicar que la operación que está entre paréntesis se debe realizar
primero.
6. Existencia de complementos. Se puede fabricar un switch A complemento de otro
switch A simplemente acoplando mecánicamente ambos, para que cuando uno se
abra el otro se cierre y viceversa.
2.2.3 LÓGICA PROPOSICIONAL
1. Para este ejemplo de álgebra de Boole el conjunto B es el conjunto de todos los
enunciados gramaticales. La operación suma (+) es la conjunción gramatical “o”
(OR), la multiplicación es la conjunción gramatical “y” (AND) y los valores que
puede tomar un enunciado gramatical son {falso,verdadero} = {F,V}.
En la siguiente figura se muestra un ejemplo en donde se aclara de manera
precisa el sentido de las operaciones OR y AND (ya que puede ser diferente de la
interpretación gramatical cotidiana), para ello se introduce el concepto de tabla de verdad,
la cual es simplemente una tabulación de los enunciados y todas las posibles
combinaciones de sus correspondientes valores de verdad o falsedad.
10
2. Existencia de neutros. El neutro de la suma, es un enunciado que evidentemente
siempre es falso, (ver ejemplo). en forma similar, el neutro de la multiplicación es
un enunciado que evidentemente siempre es verdadero.
3. Conmutatividad. Evidentemente las conjunciones “y”, “o” no alteran el sentido del
enunciado total, independientemente del orden en que son tomados.
4. Asociatividad. Las conjunciones “y”, “o” son asociativas, es decir, al conectar tres
enunciados gramaticales con “y” o con “o” no importa cual par de enunciados
evaluemos primero para determinar si el enunciado total es verdadero o falso.
5. Distributividad. La conjunción “y” es distributiva sobre la conjunción “o” y viceversa,
esto es fácil de probar mediante tablas de verdad, como se muestra a
continuación:
11
Existencia de complementos. El complemento de un enunciado dado x es simplemente el
enunciado negado gramaticalmente: “no x” y se denota x.
Observación: Es importante tener claro que cuando x es verdadero x es falso, y
viceversa, así, por ejemplo el complemento de “todo” no es “ninguno”, sino “al
menos uno no”.
2.3 Teoremas del algebra booleana
A continuación se presenta un conjunto de resultados fundamentales; pero
basados en los postulados del 1 al 6 presentados en la sección 4.1 y que por lo tanto son
válidos para cualquier álgebra de Boole. Estos resultados son presentados a manera de
Teoremas y junto con los seis postulados representan las reglas del juego para cualquiera
que desee trabajar con el álgebra booleana.
La manera de demostrar los teoremas siguientes se puede basar en ideas
intuitivas producto de la familiaridad con algún álgebra booleana en particular, (en
diagramas de Venn, o bien, en circuitos conswitches o en tablas de verdad) con la única
condición de que se respete al pie de la letra los 6 postulados fundamentales. En estas
notas sólo se usan razonamientos basados en los seis postulados.
Antes de presentar los teoremas es conveniente mencionar el siguiente principio
que se deriva directamente de la manera en que fueron presentados los seis postulados
fundamentales, es decir, del hecho de que cada postulado tiene dos incisos los cuales
son duales uno del otro.
Principio de Dualidad. Si una expresión booleana es verdadera, su expresión dual
también lo es.
Expresiones duales. Dos expresiones se dicen duales una de la otra, si una se puede
obtener de la otra cambiando las operaciones ( + ) por ( ) y viceversa y cambiando los
O's por 1 's y viceversa.
Ejemplo.
La expresión A + B = 1 es dual de la expresión AB = O,
Todas las expresiones de los incisos (a) de los postulados del álgebra booleana
son duales de las expresiones de los incisos (b) correspondientes.
De aquí en adelante, de acuerdo al principio de dualidad demostrar sólo un inciso
de los siguientes teoremas y automáticamente el inciso dual quedará demostrado.
12
Teorema 1. Multiplicación por cero
a) A0 = 0
b) A+1 = 1
Demostración del inciso (a)
Explicación:
A0 = A0 + 0 0 es el neutro de la suma
= A0 + AA el producto de una variable por su complemento da 0
= A(0 + A) distributividad
= A(A) una variable más el neutro no se altera
= 0 una variable por su complemento da 0
Teorema 2. Absorción
a) A + AB = A
b) A(A + B) = A
Demostrando el inciso (a)
Explicación:
A + AB = A1 + AB 1 es el neutro del producto
= A(1 + B) distributividad
= A(1) Teorema 1
= A es el neutro del producto
Este teorema se puede usar en diversos casos de simplificación, basta con usar
identificar en una suma, una expresión que se repite primero en forma aislada y luego
multiplicando a otra expresión.
Ejemplos.
La expresión XY + XYZ por absorción es igual a XY
La expresión A+ AB por absorción es igual con A etc.
Teorema 3. Cancelación
a) A + AB = A + B
b) A(A + B) = A B
Demostración del inciso (a)
Explicación:
A + AB = (A+A)(A+B) distributividad
= 1(A+B) la suma de una variable con su complemento es 1
= A+B 1 es el neutro del Producto
13
Este teorema se puede usar en la simplificación de expresiones cuando
encontramos una expresión sumada Con su complemento multiplicado por otra expresión
(o el dual).
Ejemplos:
La expresión A + ABC por cancelación es igual a A + BC
La expresión A + AB por cancelación es igual a A + B
La expresión XY + XY Z por cancelación es igual a XY + Z
Teorema 4. Cancelación
a) AB + AB = B
b) (A+B)(A+B)=B
Demostración del inciso (a)
Explicación:
AB + AB = (A+A ) B distributividad
= 1B la suma de una variable con su complemento es 1
= B 1es el neutro del producto
Para usar este resultado hay que identificar dos términos que tienen un factor
común y el término que no es común en una de ellas es el complemento del de la otra.
Ejemplos:
La expresión ABC+ABC, por cancelación es igual a BC
La expresión XYZ+XY Z, por cancelación es igual a Z
Teorema 5. Idempotencia
a) AA = A
b A+A= A
La demostración del inciso (b) de este teorema es inmediata del teorema de
absorción, ya que A + A = A+ A1.
Este teorema implica que cuando existen términos semejantes en una expresión,
basta con escribir uno de ellos, o bien, que un término puede "desdoblarse" tantas veces
como se quiera. Obsérvese que también esto implica que An = A para cualquier número n
entero positivo.
14
Ejemplos:
La expresión (X+Y)(X+Y) por idempotencia es igual a X+Y
La expresión XYZXYX por idempotencia es igual a XYZ
La expresión XY+Z+ XY por idempotencia es igual a XY+Z
Teorema 6. Consenso
a) AB + AC + BC = AB + AC
b) (A+B)(A+C)(B+C) = (A+B)( A+C)
Demostración del inciso (a)
Explicación:
AB +AC + BC = AB +AC + BC(A +A) A+A es el neutro de la multiplicación
= AB +AC +ABC +ABC distributividad
= (AB +ABC) + AC +ABC) conmutatividad y asociatividad
= AB + AC absorción
La clave para usar este teorema es encontrar dos términos que contengan una
expresión en uno afirmada y en otro negada, anotar los términos con los que están
multiplicando uno y otro y buscar otro elemento que sea la multiplicación de estos últimos
dos, éste último elemento es el que se puede eliminar.
Ejemplos:
La expresión AB + AC + BC por consenso es igual a AB + AC
La expresión XYZ + XY W + ZW por consenso es igual a XYZ + XY W
Teorema 7. Teorema de De Morgan
a) AB = A+B
b) A+B = AB
Demostración del inciso (a): Para demostrar este teorema hay que recordar las dos
propiedades que cumple el complemento X de una expresión X, es decir:
i) X+ X = 1 (sumados nos da uno)
ii) X X = 0 (multiplicados nos da cero)
Así, para demostrar el inciso (a) se demostrará que A+B es el complemento de
A.B, para ello se hará en dos partes:
15
i) sumando:
Explicación:
AB + (A+ B) = AB + B + A por conmutatividad
= A + B + A por cancelación
= 1 + B propiedad del complemento
= 1 por Teorema 1
ii) multiplicando
Explicación:
A B (A+ B) = ABA + ABB Por distributividad
= 0 + 0 propiedad del complemento
= 0 idempotencia
El teorema de De Morgan se puede generalizar al caso de más de dos variables
booleanas, por ejemplo, para 3 variables, tenemos que A+B+C = (A+B )C = ABC, en
forma similar, A.B.C = (A.B )+C = A+B+C , y así sucesivamente para más de tres
variables.
Otros teoremas: A continuación se presentan dos teoremas más sin demostración, es un
buen ejercicio el intentar dicha demostración.
Teorema 8. Involución
a) A=A
Teorema 9. Complementos de los neutros
a) 0 = 1
b) 1 = 0
16
2.3.1 Ejemplos de simplificación de expresiones booleanas
Los 6 postulados fundamentales, junto con los teoremas anteriores conforman las
herramientas básicas de simplificación y manipulación de expresiones booleanas, a
continuación se ilustra su uso con algunos ejemplos.
Ejemplo. Simplificar las siguientes expresiones
1. A(BC + AC) + BC Distribuyendo el factor A en el paréntesis:
= ABC + AAC + BC, conmutando y aplicando idempotencia:
= ABC + BC + AC, usando absorción:
= BC +AC
2. XYZ+XZ Usando el Teorema de De Morgan:
= XYZ.XZ , por De Morgan nuevamente e involución:
= (XY+Z )( X+Z ), distribuyendo:
=XYX +XYZ +XZ +Z Z , como X X es cero, y por idempotencia:
= 0+ XYZ +XZ +Z , por absorción:
= Z
3. (X+Y+YZW)XY Por el teorema de De Morgan:
= ((X + Y) YZW) XY, nuevamente:
= (X + Y) (Y + Z + W)(X + Y) , distribuyendo el primero con el tercer
factor:
= (XY + XY)(Y + Z + W), distribuyendo nuevamente
= (XY + XYZ + XYW + XYZ + XYW, por absorción:
=(XY + XYZ + XYW).
2.4 Funciones booleanas
En forma similar a como se define en los cursos de álgebra de números reales, es
posible definir una relación de dependencia de una variable booleana o variable lógica
con otras variables booleanas independientes. Es decir, es posible definir funciones
booleanas o funciones lógicas.
Definición. Sean X1,X2,...,Xn, variables booleanas, es decir, variables que pueden tomar
el valor de 0 o de 1, entonces la expresión
Y = f(X1,X2,...,Xn)
17
denota una dependencia funcional de la variable dependiente Y respecto a las variables
independientes X1,X2,...,Xn, es decir, el valor (0 o 1) que toma la variable Y depende de
la combinación de n valores (1’s y 0’s) que tomen las n variables X1,X2,...,Xn.
Ejemplo: La siguiente es una función booleana
Y= f(A,B,C) = AB + AC + AC
Esta función se puede evaluar para diversos valores de sus variables independientes A,
B, C:
Si A = 1, B = 0, C = 0 entonces Y= f(1,0,0) = 1.0 + 0.0 + 1.1 = 1,
Si A = 1, B = 1, C = 0 entonces Y= f(1,1,0) = 1.1 + 0.0 + 1.1 = 1,
Si A = 0, B = 1, C = 0 entonces Y= f(0,1,0) = 0.1 + 1.0 + 0.1 = 0, etc.
A diferencia de las funciones de variable real, las cuales no pueden representarse
completamente usando una tabla de valores, las funciones booleanas sí quedan
totalmente especificadas por una tabla que incluya todas las posibles combinaciones de
valores que pueden tomar las variables independientes, dicha tabla se denomina tabla de
verdad y es completamente equivalente a la expresión booleana, ya que incluye todas sus
posibilidades.
Ejemplo. La siguiente es la tabla de verdad para la función del ejemplo anterior
En general para una función de n variables, puesto que hay n variables y cada
variable tiene dos posibles valores, hay 2n maneras de asignar estos valores a las n
variables, así la tabla de verdad tendrá 2n renglones.
Por ejemplo en el ejemplo anterior f(A,B,C) es una función de 3 variables, por lo
que tenemos 23 =8 diferentes combinaciones de las entradas y por lo tanto 8 renglones
de la tabla de verdad.
18
2.4.1 FUNCIONES BOOLEANAS DE UNA Y DOS VARIABLES
En el caso de funciones de variable real sería imposible tratar de mencionar todas
las posibles funciones de una o más variables, sin embargo, en el caso de funciones
booleanas se puede hacer un listado completo de todas y cada una de las funciones para
cierto número de variables. a continuación se hace una lista de éstas para los casos de 0,
1 y 2 variables independientes:
Funciones de cero variables. Estas son las funciones constantes y sólo hay dos:
f0 = 0 Función constante cero
f1 = 1 Función constante uno
Funciones de una variable. Además de las funciones constantes ahora se pueden
definir otras dos:
f0(A) = 0 Función constante cero
f1(A) = A Función identidad
f2(A) = A Función complemento, negación
f3(A) = 1 Función constante uno
Funciones de dos variables. En este caso se pueden definir 16 funciones diferentes, las
cuales incluyen las cuatro anteriores y otras doce más. En las siguiente tabla se muestra
un resumen de las dieciséis funciones de dos variables, incluyendo su nombre, su tabla
de verdad, y su expresión lógica (booleana).
OBSERVACIÓN. Ciertamente, las expresiones lógicas que aparecen en la tabla anterior
no son únicas, ya que una misma función lógica puede tener diferentes representaciones
algebraicas.
19
Ejemplo: Es fácil ver que
A B = AB + AB = (A + B)(A + B)
o bien, también por ejemplo
A B = A / B = AB + AB = (A + B)(A + B) ... etc.
A continuación se presenta una alternativa gráfica para trabajar en el análisis y
diseño de funciones booleanas a partir de bloques funcionales que se representan
mediante símbolos lógicos.
2.4.2 SÍMBOLOS DE PUERTAS LÓGICAS
Una manera generalizada de representar las funciones lógicas es el uso de
símbolos o bloques lógicos denominados puertas o compuertas lógicas. Estas puertas en
general representan bloques funcionales que reciben un conjunto de entradas (variables
independientes) y producen una salida (variable dependiente) como se muestra en la
figura siguiente.
Una de las ventaja de usar éstos símbolos es que por ser una representación
entrada / salida permiten la “interconexión” de puertas (la salida de una con la entrada de
otra) para representar funciones más complejas a partir de funciones sencillas.
Otra ventaja es el hecho de que los bloques sencillos (puertas con pocas entradas)
se encuentran disponibles en circuitos integrados comerciales, de aquí que un diagrama
de puertas lógicas corresponde directamente a un diagrama de alambrado de circuito
lógico.
20
A continuación se presentan los símbolos para las funciones lógicas más sencillas,
especialmente para las presentadas en la sección anterior.
PUERTA AND
La salida de una compuerta AND es 1 solamente si todas sus entradas son
simultáneamente 1, de lo contrario es 0.
PUERTA OR
La salida de una compuerta OR es 1 solamente si todas sus entradas son
simultáneamente 0, de lo contrario es 1.
INVERSOR O PUERTA NOT
Un inversor es una puerta de solamente una entrada y su salida es el
complemento lógico de la entrada.
Es decir, cuando a la entrada de una
puerta NOT hay un 1 su salida será 0, y de lo
contrario cuando su entrada es 0, su salida
será 1
21
NAND
Esta es una función lógica compuesta. Se puede visualizar como una compuerta
AND seguida por una compuerta NOT y su salida es 0 sólo cuando todas sus entradas
son simultáneamente 1.
PUERTA NOR
Esta Compuerta es una combinación de las funciones de un operador OR seguido
por un INVERSOR.
La salida de una puerta NOR sólo será 1 cuando ambas entradas valgan 0
PUERTA EXOR (OR EXCLUSIVO)
La operación EXOR se denota por el símbolo , es decir, A EXOR B = A B.
Además, como se vio antes, A B = AB+AB.
La salida de una puerta EXOR será 1 si sus entradas son diferentes y será 0 si son
iguales.
22
PUERTA NO-EXOR O EQUIVALENCIA (EQU)
La operación EQU se denota por el símbolo ?, es decir, A EQU B = A ? B.
Además, como se vió antes, A ? B = A /B AB AB
La salida de una puerta EQU será 1 si sus entradas son iguales y será 0 si son
diferentes.
2.4.3 EQUIVALENCIA ENTRE PUERTAS LÓGICAS
Usando álgebra de Boole es posible obtener una gran variedad de equivalencias
entre símbolos de puertas lógicas y diagramas de alambrado de circuitos lógicos. a
continuación se muestran sólo algunas equivalencias sencillas:
23
En forma similar, dado un circuito lógico, empleando álgebra de Boole es posible
obtener la expresión lógica de la función que realiza, simplemente escribiendo a la salida
de c ada puerta lógica la expresión correspondiente en términos de las entradas.
Ejemplo
24
3 Modelo de John von Neumann (principios de 1950's)
A principios de la década de 1950, von Neumann estudió los mecanismos que
debe tener una máquina para que pueda tener la capacidad de construir otra máquina
igual a la máquina creadora; de manera que diseñó un autómata celular con esas
propiedades. A partir de la fecha de su muerte en 1957, dejó el proyecto sin terminar y
desde entonces se han hecho varios intentos de completarlo; uno de los trabajos más
destacados de reproducir y completar el trabajo de von Neumann se dio en el año 2000
por un grupo de especialistas en diseño de hardware en el Laboratorio de Sistemas
Lógicos del Instituto de Tecnología Federal Suiza [3].
El constructor universal es uno de los conceptos que von Neumann definió y que
es una parte fundamental en el diseño de esa máquina1.7 constructor universal, que es
capaz de construir cualquier otra máquina constructor universal a partir de su descripción.
Este proceso requiere que la descripción del constructor universal incluya su propia
descripción, idea que fue tomada de modelos celulares vivos que contienen información
de cómo construir otras células del mismo tipo:
• La descripción muestra las características básicas de la máquina, al estilo de un
genoma, que es interpretado para construir una copia del constructor universal.
• La descripción es literalmente copiada, una vez que ha sido detectada y leída.
Stanislaw Ulam hizo la sugerencia (a von Neumann) de implementar sus ideas en
un espacio bidimensional discreto. De manera que el universo creado por von Neumann
lo define una matriz bidimensional infinita, cuyas entradas, llamadas células, son
máquinas de estados finitos. Después de haber estudiado el modelo con varias opciones,
llegó a definir 29 estados y una regla de transición [66].
25
Figura 1.3: Esquema de la máquina universal de John von Neumann [66]
En la figura 1.3 se muestra el esquema de la máquina autoreproductora diseñada
por John von Neumann. El constructor universal está dividido en el control de la cinta
(Tape control) y el control de construcción(Construction control); el control de la cinta
obtiene la información de la máquina que se va a construir; y el control de construcción
interpreta la descripción obtenida y construye el nuevo autómata por medio de un brazo
constructor (Constructing arm). Podemos mencionar algunas características que tiene
este constructor universal:
• Universalidad construccional, significa que es capaz de construir cualquier
autómata, si cuenta con su descripción.
• Autoreproducción del constructor universal.
• Autoreproducción de la máquina universal, ya que el constructor universal está
definido con una máquina universal de Turing, y la cinta contiene la información
completa.
26
Cada célula del autómata puede tener uno de 29 posibles estados. Esos estados
no son catalogados de manera numérica como usualmente se propone en las máquinas
finitas de estados; la manera en que los diferentes estados son identificados tiene mucho
que ver con su funcionalidad. En la tabla 1.2 se describen los conjuntos de estados
posibles para cada célula. Enseguida una descripción de esos conjuntos de estados.
Una célula en el estado recesivo no influye en otras células. Este estado se
aplica a células que no se usan, ni en la descripción de la máquina, ni en el proceso de
construcción.
Las células tienen 16 estados que permiten la transmisión de información entre
células que no están en estado recesivo. Cada uno de estos estados de transmisión
tienen una de cuatro direcciones: norte, sur, este y oeste; hay una distinción entre estados
activos o inactivos. Además, se pueden distinguir estados de transmisión ordinarios y de
propósito especial que propagan diferentes tipos de activación.
Los estados de transmisión ordinarios propagan activaciones ordinarias en su
dirección de salida, por su parte, los estados de transmisión especial, también propagan
activaciones especiales en su dirección de salida. Las propagaciones ordinarias
introducen un retardo de un paso de tiempo en la propagación de la activación y actúan
como una compuerta OR. Un estado cambia a activo si recibe una señal de activación
ordinaria o especial desde uno de sus tres lados confluentes.
Los 4 estados confluentes se usan para transmitir activaciones, funcionan como
compuertas AND, generan un retardo de dos tiempos en la transmisión de una activación
y pueden dividir el flujo de transmisión, comportándose como un distribuidor.
Un estado confluente puede ser o cuando todas las células vecinas estén
en estado de transmisión ordinaria dirigidas hacia ellas, si cualquiera está en estado
activado.
27
Figura 1.4: Evolución de los estados de transmisión y confluentes de la máquina de von
Neumann [3]
En la figura 1.4 se pueden apreciar en 6 pasos de tiempo, las evoluciones del
autómata celular de von Neumann en diferentes situaciones:
• en la columna a se muestra cómo se propagan las señales de activación en
actividades ordinarias,
• en las columnas b y c se muestran las actividades de los estados confluentes,
comportándose como compuertas AND (columna b) y OR (columna c).
Los 8 estados restantes se usan para construir los procesos, que también se
llaman procesos dirigidos, que como excepción, sí pueden crear estados recesivos o
cambiar de un estado recesivo a estados de transmisión no activados o a estados
confluentes. Estos estados se llaman estados sensibles aunque cambian de estado en
una unidad de tiempo.
Una célula que se encuentre en estado recesivo puede cambiar su estado al
estado sensible si recibe una señal de activación ordinaria o especial por alguno de
sus lados, luego puede cambiar al estado sensible si no recibe ninguna señal de
activación, o a en caso de que sí reciba.
28
Figura 1.5: Proceso de construcción de la máquina de von Neumann [3]
La figura 1.5 muestra el ciclo constructivo en que pueden encontrarse las células
en el autómata, mientras se encuentren en uno de esos 9 estados desactivados. Una
célula que se encuentre en un estado sensible no ejerce influencia en sus vecinos.
Finalmente se describe una manera de cambiar el estado de transmisión o
confluente a un estado recesivo, y se puede hacer de dos maneras: enviando una
activación especial por uno de los 4 lados de un estado de transmisión ordinaria o de un
estado confluente; y la otra manera es enviar una activación ordinaria por uno de los
cuatro lados de un estado de transmisión especial.
29
4 Concepto De Programa Almacenado
Según von Neumann, la clave para construir una máquina de propósito general es
poder almacenar no sólo los datos y los resultados intermedios de una computación, sino
también las instrucciones que definen el procedimiento de computación. En una máquina
de propósito especifico, el procedimiento puede ser parte de la máquina. Sin embargo, en
una máquina de propósito general, cambiar las instrucciones tiene que ser tan fácil como
cambiar los datos sobre los que actúan. La solución es codificar las instrucciones de
forma numérica y guardarlas junto con los datos en la misma memoria. Este es el
concepto de programa almacenado.
Los primeros computadores no se diferenciaban mucho de las máquinas de
propósito específico que hay hoy en día, en el sentido que sólo pueden resolver un tipo
particular de problema. El aporte de von Neumann fue precisamente hacer ver la
necesidad de separar el programa de la máquina misma, para así poder reconfigurar el
computador según fuese necesario.
El concepto del programa almacenado, un concepto teórico muy importante que
fue establecido por el matemático John von Neumann el 30 de junio de 1945 en un
borrador sobre el diseño de la EDVAC. A diferencia de los primeros computadores, von
Neumann proponía que tanto el programa como sus datos fueran almacenados en la
memoria del computador. Esto no solo simplificaba la labor de programación al no tener
que llevar a cabo el recableado del computador sino que además libraba y generalizaba el
diseño del hardware para hacerlo independiente de cualquier problema y enfocado al
control y ejecución del programa. Este concepto fue tan importante y decisivo que dio
lugar al concepto de la arquitectura de von Neumann, aún presente en nuestros días.
30
5 Lenguaje De Maquina Instrucciones y Datos
5.1 Lenguaje de
Máquina
Es el único lenguaje que
entiende el hardware (máquina) y
usa exclusivamente el sistema
binario. Este lenguaje es
específico para cada hardware
(procesador, dispositivos, etc.)
Los lenguajes máquina, son aquellos cuyas instrucciones son directamente
entendibles por la computadora y no necesitan traducción posterior para que la UCP,
pueda entender y ejecutar el programa.
Las instrucciones en lenguaje máquina, se expresan en términos de la unidad de
memoria más pequeña, el bit (digito binario 0 o 1), en esencia una secuencia de bits que
especifican la operación y las celdas implicadas en una operación. Una serie de
instrucciones en lenguaje maquina son
0010 0000 0000 1001
1001 0001 1001 1110
Como se puede observar, estas instrucciones serán fáciles de leer por la
computadora y difíciles por un programador, y viceversa. Esta razón hace difícil escribir
programas en código o lenguaje a maquina y requiere buscar otro lenguaje pare
comunicarse con la computadora, pero que sea mas fácil de escribir y leer por el
programador.
Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han
diseñado otros lenguajes de programación que facilitan la escritura y posterior ejecución
de los programas.
31
5.2 Lenguaje Ensamblador
Es un lenguaje que usa mnemónicos (palabras cortas escritas con caracteres
alfanuméricos), para
codificar las operaciones.
Los datos y/o direcciones
son codificados
generalmente como
números en un sistema
hexadecimal.
Generalmente es
específico (aunque no
único) para cada
lenguaje de máquina.
La estructura de
una instrucción en este
lenguaje es la siguiente:
MNEMONICO ARGUMENTO(S)
Un ENSAMBLADOR es un software, generalmente escrito en lenguaje de máquina, que es
capaz de traducir de lenguaje ensamblador a lenguaje de máquina, mientras que un CARGADOR es
un software que almacena en memoria el programa en lenguaje de máquina generado por el
ensamblador.
5.3 Ciclo De Ejecución De Instrucciones
Ciclo de búsqueda de instrucciones. En él se transfiere la dirección de la siguiente
instrucción al bus de direcciones, se envía una orden de lectura a los dispositivos de
memoria a través del bus de control, se lee la información del bus de datos, y si se trata
del primer byte de una instrucción, se transfiere este byte al registro de instrucciones.
Ciclo de ejecución de instrucciones. En él se ejecuta la instrucción. El registro de
instrucciones está conectado a un decodificador, que determina cuántos bytes de
información adicionales se requieren. Éstos se cargan mediante ciclos de búsqueda,
como se indicó con anterioridad.
Cuando la ejecución está completa, la máquina comienza automáticamente el ciclo
de búsqueda de la siguiente instrucción del programa. La ejecución es por tanto, una
secuencia continua de ciclos de búsqueda y ejecución.

Más contenido relacionado

La actualidad más candente

Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaEdgar Rivera
 
Teoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes FormalesTeoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes FormalesErivan Martinez Ovando
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Contador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DContador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DCristian Rodriguez
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasCarlos Gascón
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERASFabian Rojas
 
Configuraciones basicas del amplificador operacional Clase 5
Configuraciones basicas del amplificador operacional Clase 5Configuraciones basicas del amplificador operacional Clase 5
Configuraciones basicas del amplificador operacional Clase 5Tensor
 
Teoremas Fundamentales Algebra de Boole
Teoremas Fundamentales Algebra de BooleTeoremas Fundamentales Algebra de Boole
Teoremas Fundamentales Algebra de BooleEmi Fernandez
 
2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleana2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleanaJosse Sumari
 
Cuadro comparativo de softwares de de metodos numericos
Cuadro comparativo de softwares de de metodos numericosCuadro comparativo de softwares de de metodos numericos
Cuadro comparativo de softwares de de metodos numericosJuanCarlos210997
 
Multiplexores y demultiplexores en electrónica digital
Multiplexores y demultiplexores en electrónica digitalMultiplexores y demultiplexores en electrónica digital
Multiplexores y demultiplexores en electrónica digitalIsrael Magaña
 
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresSumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresJose Tomas Rodriguez Henriquez
 

La actualidad más candente (20)

Problemariodigital3 bcd
Problemariodigital3 bcdProblemariodigital3 bcd
Problemariodigital3 bcd
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logica
 
Algebra booleana
Algebra booleanaAlgebra booleana
Algebra booleana
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Diseño de Circuitos Secuenciales
Diseño de Circuitos SecuencialesDiseño de Circuitos Secuenciales
Diseño de Circuitos Secuenciales
 
Teoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes FormalesTeoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes Formales
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Contador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DContador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo D
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicas
 
Electrónica digital: Comparadores
Electrónica digital: ComparadoresElectrónica digital: Comparadores
Electrónica digital: Comparadores
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Algebra booleana
Algebra booleanaAlgebra booleana
Algebra booleana
 
Configuraciones basicas del amplificador operacional Clase 5
Configuraciones basicas del amplificador operacional Clase 5Configuraciones basicas del amplificador operacional Clase 5
Configuraciones basicas del amplificador operacional Clase 5
 
Teoremas Fundamentales Algebra de Boole
Teoremas Fundamentales Algebra de BooleTeoremas Fundamentales Algebra de Boole
Teoremas Fundamentales Algebra de Boole
 
2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleana2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleana
 
Cuadro comparativo de softwares de de metodos numericos
Cuadro comparativo de softwares de de metodos numericosCuadro comparativo de softwares de de metodos numericos
Cuadro comparativo de softwares de de metodos numericos
 
Sumador\Restador
Sumador\RestadorSumador\Restador
Sumador\Restador
 
Multiplexores y demultiplexores en electrónica digital
Multiplexores y demultiplexores en electrónica digitalMultiplexores y demultiplexores en electrónica digital
Multiplexores y demultiplexores en electrónica digital
 
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresSumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
 

Similar a Algebra Booleana

Algebra booleana
Algebra booleanaAlgebra booleana
Algebra booleanayazlet
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boolepablo_ca123
 
Logica boleana
Logica boleanaLogica boleana
Logica boleanasena
 
Algebra de Boole y Circuitos Combinatorios
Algebra de Boole y Circuitos CombinatoriosAlgebra de Boole y Circuitos Combinatorios
Algebra de Boole y Circuitos CombinatoriosJohanaMoya20
 
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Robert Osmar Aguilar Iribarren
 
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Robert Osmar Aguilar Iribarren
 
Algebra booleana circuitoslogicos
Algebra booleana circuitoslogicosAlgebra booleana circuitoslogicos
Algebra booleana circuitoslogicosdukefirula
 
BOOLE + COMPUERTAS LOGICAS
BOOLE + COMPUERTAS LOGICASBOOLE + COMPUERTAS LOGICAS
BOOLE + COMPUERTAS LOGICASedy27ville
 
Explicación Electronica digital boole y puertas lógicas
Explicación Electronica digital   boole y puertas lógicasExplicación Electronica digital   boole y puertas lógicas
Explicación Electronica digital boole y puertas lógicasSabela Prieto
 
Algebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatoriosAlgebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatoriosJesus Olivier Pereira
 

Similar a Algebra Booleana (20)

Algebra booleana
Algebra booleanaAlgebra booleana
Algebra booleana
 
Algebrabooleana1
Algebrabooleana1Algebrabooleana1
Algebrabooleana1
 
Algebrabooleana1
Algebrabooleana1Algebrabooleana1
Algebrabooleana1
 
Algebra booleana
Algebra booleanaAlgebra booleana
Algebra booleana
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Logica boleana
Logica boleanaLogica boleana
Logica boleana
 
Algebra de Boole y Circuitos Combinatorios
Algebra de Boole y Circuitos CombinatoriosAlgebra de Boole y Circuitos Combinatorios
Algebra de Boole y Circuitos Combinatorios
 
Algebra 2
Algebra 2Algebra 2
Algebra 2
 
Algebra booleana
Algebra booleanaAlgebra booleana
Algebra booleana
 
Algebra de boole johnny anderson chavarria alonzo
Algebra de boole   johnny anderson chavarria alonzoAlgebra de boole   johnny anderson chavarria alonzo
Algebra de boole johnny anderson chavarria alonzo
 
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
 
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
 
áLgebra oscar cordoba
áLgebra oscar cordobaáLgebra oscar cordoba
áLgebra oscar cordoba
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Algebra booleana circuitoslogicos
Algebra booleana circuitoslogicosAlgebra booleana circuitoslogicos
Algebra booleana circuitoslogicos
 
BOOLE + COMPUERTAS LOGICAS
BOOLE + COMPUERTAS LOGICASBOOLE + COMPUERTAS LOGICAS
BOOLE + COMPUERTAS LOGICAS
 
Explicación Electronica digital boole y puertas lógicas
Explicación Electronica digital   boole y puertas lógicasExplicación Electronica digital   boole y puertas lógicas
Explicación Electronica digital boole y puertas lógicas
 
Algebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatoriosAlgebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatorios
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 

Más de Marcos Omar Cruz Ortrega

Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Marcos Omar Cruz Ortrega
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerMarcos Omar Cruz Ortrega
 
¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?Marcos Omar Cruz Ortrega
 
¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?Marcos Omar Cruz Ortrega
 

Más de Marcos Omar Cruz Ortrega (18)

Cruzsoft Project Manager
Cruzsoft Project ManagerCruzsoft Project Manager
Cruzsoft Project Manager
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)
 
El Chipset - Ensayo
El Chipset - Ensayo El Chipset - Ensayo
El Chipset - Ensayo
 
Biblioteca Virtual - PSP
Biblioteca Virtual - PSPBiblioteca Virtual - PSP
Biblioteca Virtual - PSP
 
Ensayo (direccionamiento de memoria)
Ensayo (direccionamiento de memoria)Ensayo (direccionamiento de memoria)
Ensayo (direccionamiento de memoria)
 
Comunicaciones Moviles
Comunicaciones MovilesComunicaciones Moviles
Comunicaciones Moviles
 
Programacion de puertos e interrupciones
Programacion de puertos e interrupciones Programacion de puertos e interrupciones
Programacion de puertos e interrupciones
 
Electroestatica
ElectroestaticaElectroestatica
Electroestatica
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson Penker
 
Mantenimiento de software (síntesis)
Mantenimiento de software (síntesis)Mantenimiento de software (síntesis)
Mantenimiento de software (síntesis)
 
Usuarios y Administradores en DB
Usuarios y Administradores en DBUsuarios y Administradores en DB
Usuarios y Administradores en DB
 
Lenguaje Lisp
Lenguaje LispLenguaje Lisp
Lenguaje Lisp
 
Inductancia magnetica
Inductancia magneticaInductancia magnetica
Inductancia magnetica
 
¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?
 
2-Proyectos de electronica
2-Proyectos de electronica2-Proyectos de electronica
2-Proyectos de electronica
 
¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?
 
Cruzsoft Magazine #0
Cruzsoft Magazine #0Cruzsoft Magazine #0
Cruzsoft Magazine #0
 
Fundamentos de redes y topologias
Fundamentos de redes y topologiasFundamentos de redes y topologias
Fundamentos de redes y topologias
 

Último

Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 

Último (20)

Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 

Algebra Booleana

  • 1. Algebra Booleana Presenta: Marcos Omar Cruz Ortega Cruzsoft® 17/12/2008
  • 2. 2 Tabla de Contenido 1 Introducción al Algebra Booleana............................................................................................... 3 2 Álgebra Booleana ........................................................................................................................ 4 2.1 Postulados del álgebra booleana ........................................................................................ 4 2.2 Ejemplos de álgebras de Boole ........................................................................................... 5 2.2.1 ÁLGEBRA DE CONJUNTOS ........................................................................................... 5 2.2.2 CIRCUITOS DE CONMUTACIÓN ................................................................................... 8 2.2.3 LÓGICA PROPOSICIONAL............................................................................................. 9 2.3 Teoremas del algebra booleana........................................................................................ 11 2.3.1 Ejemplos de simplificación de expresiones booleanas ............................................. 16 2.4 Funciones booleanas......................................................................................................... 16 2.4.1 FUNCIONES BOOLEANAS DE UNA Y DOS VARIABLES............................................... 18 2.4.2 SÍMBOLOS DE PUERTAS LÓGICAS.............................................................................. 19 2.4.3 EQUIVALENCIA ENTRE PUERTAS LÓGICAS ................................................................ 22 3 Modelo de John von Neumann (principios de 1950's).............................................................. 24 4 Concepto De Programa Almacenado........................................................................................ 29 5 Lenguaje De Maquina Instrucciones y Datos ............................................................................ 30 5.1 Lenguaje de Máquina .................................................................................................... 30 5.2 Lenguaje Ensamblador.................................................................................................. 31 5.3 Ciclo De Ejecución De Instrucciones.................................................................................. 31
  • 3. 3 1 Introducción al Algebra Booleana Un algebra booleana es una estructura matemática con dos operaciones binarias y una unitaria que tiene características similares al algebra de números reales, pero que difiere en algunos otros aspectos. En muchos de los casos el dominio consiste en dos valores cero y uno (falso y verdadero). Para mayor facilidad en su manejo las operaciones se representan por +y*, el operador unitario se puede representar mediante una raya superior a’. El álgebra booleana es un sistema matemático 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: Cerrado: El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano. Conmutativo: Se dice que un operador binario “ º “ es conmutativo si A º B = B º A para todos los posibles valores de A y B. Asociativo: Se dice que un operador binario “ º “ es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C. Distributivo: Dos operadores binarios “ º “ y “ % “ son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C. Identidad: Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario “ º “ si A º I = A. Inverso:Un valor booleano I es un elemento inverso con respecto a un operador booleano “ º “ si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
  • 4. 4 2 Álgebra Booleana La herramienta fundamental para el análisis y diseño de circuitos digitales es el Álgebra Booleana. Esta álgebra es un conjunto de reglas matemáticas (similares en algunos aspectos al álgebra convencional), pero que tienen la virtud de corresponder al comportamiento de circuitos basados en dispositivos de conmutación (interruptores, relevadores, transistores, etc). En este capítulo se presentan los postulados que definen el álgebra booleana, se presentan en forma de teoremas los resultados más importantes, se presentan también los tres ejemplos clásicos de álgebras boolenas (Lógica proposicional, álgebra de conjuntos, álgebra de switches) y herramientas básicas como tablas de verdad y diagramas de Venn. 2.1 Postulados del álgebra booleana El Álgebra de Boole, fue presentada originalmente por el inglés George Boole, en el año de 1854 en su artículo "An Investigation of the Laws of Thoght ... ", sin embargo, las primeras aplicaciones a circuitos de conmutación fueron desarrolladas por Claude Shannon en su tesis doctoral "Análisis simbólico de los circuitos de conmutación y relés" hasta 1938. A continuación se presentan los postulados fundamentales del álgebra de Boole Postulado 1. Definición. El álgebra booleana es un sistema algebraico definido en un conjunto B, el cual contiene dos o más elementos y entre los cuales se definen dos operaciones denominadas "suma u operación OR" ( + ) y "producto o multiplicación u operación AND" (), las cuales cumplen con las siguientes propiedades:
  • 5. 5 Postulado 2. Existencia de Neutros. Existen en B el elemento neutro de la suma, denominado O y el neutro de la multiplicación, denominado 1, tales que para cualquier elemento x de s: (a) x + O = x (b) x. 1 = x Postulado 3. Conmutatividad. Para cada x, y en B: (a) x+y = y+x (b) xy =yx Postulado 4. Asociatividad. Para cada x, y, z en B: (a) x + (y + z) = (x + y) + z (b) x(yz) = (xy) z Postulado 5. Distributividad. Para cada x, y, z en B: (a) x+(yz)=(x+y) (x+z) (b) x(y+z)=(xy)+(xz) Postulado 6. Existencia de Complementos. Para cada x en B existe un elemento único denotado x (también denotado x’), llamado complemento de x tal que (a) x+x = 1 (b) x x = O 2.2 Ejemplos de álgebras de Boole En un principio algunos de los postulados anteriores pueden parecer extraños, especialmente aquellos que son diferentes al álgebra con número reales (como el 5a, el 6a y el 6b), y puede ser difícil encontrar situaciones de interés que cumplan al pie de la letra con cada uno de ellos, sin embargo, existen varios ejemplos, de los cuales se presentan los siguientes tres clásicos, en los cuales se verifica que se trata de álgebras de Boole, es decir, que se cumple postulado por postulado. 2.2.1 ÁLGEBRA DE CONJUNTOS 1. Para este ejemplo el conjunto B es el conjunto de todos los conjuntos a tratar. La suma es la unión de conjuntos (U) y la multiplicación es la intersección () de conjuntos. 2. Existencia de neutros. El neutro de la unión es el conjunto vacío F , mientras que el neutro de la intersección es el conjunto universo U, ya que para cualquier conjunto arbitrario A, A U F = A y A U = A. 3. Conmutatividad. La unión y la intersección son conmutativas, ya que para cualquier par de conjuntos A, B: A U B = B U A y A ∩B = B ∩A
  • 6. 6 4. Asociatividad. La unión y la intersección de conjuntos son asociativas, ya que para cualesquiera tres conjuntos A, B, C: A U (B U C) = (A U B) U C y A (B C) = (A B) C 5. Distributividad. La unión de conjuntos es distributiva sobre la intersección, y viceversa, la intersección es distributiva sobre la unión, ya que para cualesquiera tres conjuntos A, B, C: A U (B C) = (A U B) (A U C) y A (B U C) = (A B) U (A C) 6. Existencia de complementos. El conjunto complemento Ac cumple con las propiedades deseadas: A U Ac = U y A Ac = F Algunos de los enunciados anteriores pueden ser difíciles de obtener, o recordar, especialmente la distributividad, por ello, es conveniente tener en cuenta una herramienta gráfica en la cual estos enunciados se vuelven evidentes casi a simple vista: 2.2.1.1 DIAGRAMAS DE VENN En la siguiente figura se muestran diagramas de Venn para los conjuntos A, B, A U B y A ∩ B
  • 7. 7 A continuación se muestra el conjunto A y su complemento Ac . Ejemplo.- En los siguientes diagramas de Venn se ilustra la manera como pueden usarse los diagramas de Venn para ilustrar cada uno de los postulados y propiedades del álgebra de conjuntos. En este caso se usan para ilustrar la propiedad de distributividad de la unión sobre la intersección
  • 8. 8 2.2.2 CIRCUITOS DE CONMUTACIÓN 1. Para este ejemplo de álgebra de Boole, el conjunto B es el conjunto de todos los switches o interruptores. La operación suma de switches es la conexión en paralelo y la multiplicación de switches es la conexión en serie, como se muestra en la siguiente figura. Los valores que pueden tomar los Switches son sólo dos: {ON, OFF} o bien, {1,0}. 2. Existencia de neutros. El neutro de la suma, es un circuito abierto (un switch que siempre está abierto), mientras que el neutro del producto es un corto circuito (un switch que siempre está cerrado) 3. Conmutatividad. Evidentemente las conexiones en serie y en paralelo funcionan de la misma manera independientemente del orden de colocación de los switches que interconectan. 4. Asociatividad. Las conexiones en serie y en paralelo son asociativas, es decir, al conectar tres switches en paralelo, no importa cual par se conecte primero. En forma similar pasa con la conexión de tres switches en serie. 5. Distributividad. La conexión serie es distributiva sobre la conexión en paralelo y la conexión paralelo es distributiva sobre la conexión en serie, en el sentido que se ilustra en la figura siguiente.
  • 9. 9 Observación 1: Nótese que en la figura anterior se está suponiendo que el switch A se puede usar en dos lugares diferentes, esto es posible físicamente simplemente construyendo dos switches acoplados mecánicamente de manera que cuando uno esté abierto el otro también lo esté y cuando uno esté cerrado, el otro también se cierre. Observación 2: Jerarquía de operaciones.- En adelante, se utilizará la notación algebraica utilizada en la figura anterior, en la cual se supone que cuando en una misma expresión aparecen sumas y productos sin usar paréntesis se realiza primero el producto y luego la suma. Cuando se quiere alterar este orden de jerarquía de operaciones se usan paréntesis para indicar que la operación que está entre paréntesis se debe realizar primero. 6. Existencia de complementos. Se puede fabricar un switch A complemento de otro switch A simplemente acoplando mecánicamente ambos, para que cuando uno se abra el otro se cierre y viceversa. 2.2.3 LÓGICA PROPOSICIONAL 1. Para este ejemplo de álgebra de Boole el conjunto B es el conjunto de todos los enunciados gramaticales. La operación suma (+) es la conjunción gramatical “o” (OR), la multiplicación es la conjunción gramatical “y” (AND) y los valores que puede tomar un enunciado gramatical son {falso,verdadero} = {F,V}. En la siguiente figura se muestra un ejemplo en donde se aclara de manera precisa el sentido de las operaciones OR y AND (ya que puede ser diferente de la interpretación gramatical cotidiana), para ello se introduce el concepto de tabla de verdad, la cual es simplemente una tabulación de los enunciados y todas las posibles combinaciones de sus correspondientes valores de verdad o falsedad.
  • 10. 10 2. Existencia de neutros. El neutro de la suma, es un enunciado que evidentemente siempre es falso, (ver ejemplo). en forma similar, el neutro de la multiplicación es un enunciado que evidentemente siempre es verdadero. 3. Conmutatividad. Evidentemente las conjunciones “y”, “o” no alteran el sentido del enunciado total, independientemente del orden en que son tomados. 4. Asociatividad. Las conjunciones “y”, “o” son asociativas, es decir, al conectar tres enunciados gramaticales con “y” o con “o” no importa cual par de enunciados evaluemos primero para determinar si el enunciado total es verdadero o falso. 5. Distributividad. La conjunción “y” es distributiva sobre la conjunción “o” y viceversa, esto es fácil de probar mediante tablas de verdad, como se muestra a continuación:
  • 11. 11 Existencia de complementos. El complemento de un enunciado dado x es simplemente el enunciado negado gramaticalmente: “no x” y se denota x. Observación: Es importante tener claro que cuando x es verdadero x es falso, y viceversa, así, por ejemplo el complemento de “todo” no es “ninguno”, sino “al menos uno no”. 2.3 Teoremas del algebra booleana A continuación se presenta un conjunto de resultados fundamentales; pero basados en los postulados del 1 al 6 presentados en la sección 4.1 y que por lo tanto son válidos para cualquier álgebra de Boole. Estos resultados son presentados a manera de Teoremas y junto con los seis postulados representan las reglas del juego para cualquiera que desee trabajar con el álgebra booleana. La manera de demostrar los teoremas siguientes se puede basar en ideas intuitivas producto de la familiaridad con algún álgebra booleana en particular, (en diagramas de Venn, o bien, en circuitos conswitches o en tablas de verdad) con la única condición de que se respete al pie de la letra los 6 postulados fundamentales. En estas notas sólo se usan razonamientos basados en los seis postulados. Antes de presentar los teoremas es conveniente mencionar el siguiente principio que se deriva directamente de la manera en que fueron presentados los seis postulados fundamentales, es decir, del hecho de que cada postulado tiene dos incisos los cuales son duales uno del otro. Principio de Dualidad. Si una expresión booleana es verdadera, su expresión dual también lo es. Expresiones duales. Dos expresiones se dicen duales una de la otra, si una se puede obtener de la otra cambiando las operaciones ( + ) por ( ) y viceversa y cambiando los O's por 1 's y viceversa. Ejemplo. La expresión A + B = 1 es dual de la expresión AB = O, Todas las expresiones de los incisos (a) de los postulados del álgebra booleana son duales de las expresiones de los incisos (b) correspondientes. De aquí en adelante, de acuerdo al principio de dualidad demostrar sólo un inciso de los siguientes teoremas y automáticamente el inciso dual quedará demostrado.
  • 12. 12 Teorema 1. Multiplicación por cero a) A0 = 0 b) A+1 = 1 Demostración del inciso (a) Explicación: A0 = A0 + 0 0 es el neutro de la suma = A0 + AA el producto de una variable por su complemento da 0 = A(0 + A) distributividad = A(A) una variable más el neutro no se altera = 0 una variable por su complemento da 0 Teorema 2. Absorción a) A + AB = A b) A(A + B) = A Demostrando el inciso (a) Explicación: A + AB = A1 + AB 1 es el neutro del producto = A(1 + B) distributividad = A(1) Teorema 1 = A es el neutro del producto Este teorema se puede usar en diversos casos de simplificación, basta con usar identificar en una suma, una expresión que se repite primero en forma aislada y luego multiplicando a otra expresión. Ejemplos. La expresión XY + XYZ por absorción es igual a XY La expresión A+ AB por absorción es igual con A etc. Teorema 3. Cancelación a) A + AB = A + B b) A(A + B) = A B Demostración del inciso (a) Explicación: A + AB = (A+A)(A+B) distributividad = 1(A+B) la suma de una variable con su complemento es 1 = A+B 1 es el neutro del Producto
  • 13. 13 Este teorema se puede usar en la simplificación de expresiones cuando encontramos una expresión sumada Con su complemento multiplicado por otra expresión (o el dual). Ejemplos: La expresión A + ABC por cancelación es igual a A + BC La expresión A + AB por cancelación es igual a A + B La expresión XY + XY Z por cancelación es igual a XY + Z Teorema 4. Cancelación a) AB + AB = B b) (A+B)(A+B)=B Demostración del inciso (a) Explicación: AB + AB = (A+A ) B distributividad = 1B la suma de una variable con su complemento es 1 = B 1es el neutro del producto Para usar este resultado hay que identificar dos términos que tienen un factor común y el término que no es común en una de ellas es el complemento del de la otra. Ejemplos: La expresión ABC+ABC, por cancelación es igual a BC La expresión XYZ+XY Z, por cancelación es igual a Z Teorema 5. Idempotencia a) AA = A b A+A= A La demostración del inciso (b) de este teorema es inmediata del teorema de absorción, ya que A + A = A+ A1. Este teorema implica que cuando existen términos semejantes en una expresión, basta con escribir uno de ellos, o bien, que un término puede "desdoblarse" tantas veces como se quiera. Obsérvese que también esto implica que An = A para cualquier número n entero positivo.
  • 14. 14 Ejemplos: La expresión (X+Y)(X+Y) por idempotencia es igual a X+Y La expresión XYZXYX por idempotencia es igual a XYZ La expresión XY+Z+ XY por idempotencia es igual a XY+Z Teorema 6. Consenso a) AB + AC + BC = AB + AC b) (A+B)(A+C)(B+C) = (A+B)( A+C) Demostración del inciso (a) Explicación: AB +AC + BC = AB +AC + BC(A +A) A+A es el neutro de la multiplicación = AB +AC +ABC +ABC distributividad = (AB +ABC) + AC +ABC) conmutatividad y asociatividad = AB + AC absorción La clave para usar este teorema es encontrar dos términos que contengan una expresión en uno afirmada y en otro negada, anotar los términos con los que están multiplicando uno y otro y buscar otro elemento que sea la multiplicación de estos últimos dos, éste último elemento es el que se puede eliminar. Ejemplos: La expresión AB + AC + BC por consenso es igual a AB + AC La expresión XYZ + XY W + ZW por consenso es igual a XYZ + XY W Teorema 7. Teorema de De Morgan a) AB = A+B b) A+B = AB Demostración del inciso (a): Para demostrar este teorema hay que recordar las dos propiedades que cumple el complemento X de una expresión X, es decir: i) X+ X = 1 (sumados nos da uno) ii) X X = 0 (multiplicados nos da cero) Así, para demostrar el inciso (a) se demostrará que A+B es el complemento de A.B, para ello se hará en dos partes:
  • 15. 15 i) sumando: Explicación: AB + (A+ B) = AB + B + A por conmutatividad = A + B + A por cancelación = 1 + B propiedad del complemento = 1 por Teorema 1 ii) multiplicando Explicación: A B (A+ B) = ABA + ABB Por distributividad = 0 + 0 propiedad del complemento = 0 idempotencia El teorema de De Morgan se puede generalizar al caso de más de dos variables booleanas, por ejemplo, para 3 variables, tenemos que A+B+C = (A+B )C = ABC, en forma similar, A.B.C = (A.B )+C = A+B+C , y así sucesivamente para más de tres variables. Otros teoremas: A continuación se presentan dos teoremas más sin demostración, es un buen ejercicio el intentar dicha demostración. Teorema 8. Involución a) A=A Teorema 9. Complementos de los neutros a) 0 = 1 b) 1 = 0
  • 16. 16 2.3.1 Ejemplos de simplificación de expresiones booleanas Los 6 postulados fundamentales, junto con los teoremas anteriores conforman las herramientas básicas de simplificación y manipulación de expresiones booleanas, a continuación se ilustra su uso con algunos ejemplos. Ejemplo. Simplificar las siguientes expresiones 1. A(BC + AC) + BC Distribuyendo el factor A en el paréntesis: = ABC + AAC + BC, conmutando y aplicando idempotencia: = ABC + BC + AC, usando absorción: = BC +AC 2. XYZ+XZ Usando el Teorema de De Morgan: = XYZ.XZ , por De Morgan nuevamente e involución: = (XY+Z )( X+Z ), distribuyendo: =XYX +XYZ +XZ +Z Z , como X X es cero, y por idempotencia: = 0+ XYZ +XZ +Z , por absorción: = Z 3. (X+Y+YZW)XY Por el teorema de De Morgan: = ((X + Y) YZW) XY, nuevamente: = (X + Y) (Y + Z + W)(X + Y) , distribuyendo el primero con el tercer factor: = (XY + XY)(Y + Z + W), distribuyendo nuevamente = (XY + XYZ + XYW + XYZ + XYW, por absorción: =(XY + XYZ + XYW). 2.4 Funciones booleanas En forma similar a como se define en los cursos de álgebra de números reales, es posible definir una relación de dependencia de una variable booleana o variable lógica con otras variables booleanas independientes. Es decir, es posible definir funciones booleanas o funciones lógicas. Definición. Sean X1,X2,...,Xn, variables booleanas, es decir, variables que pueden tomar el valor de 0 o de 1, entonces la expresión Y = f(X1,X2,...,Xn)
  • 17. 17 denota una dependencia funcional de la variable dependiente Y respecto a las variables independientes X1,X2,...,Xn, es decir, el valor (0 o 1) que toma la variable Y depende de la combinación de n valores (1’s y 0’s) que tomen las n variables X1,X2,...,Xn. Ejemplo: La siguiente es una función booleana Y= f(A,B,C) = AB + AC + AC Esta función se puede evaluar para diversos valores de sus variables independientes A, B, C: Si A = 1, B = 0, C = 0 entonces Y= f(1,0,0) = 1.0 + 0.0 + 1.1 = 1, Si A = 1, B = 1, C = 0 entonces Y= f(1,1,0) = 1.1 + 0.0 + 1.1 = 1, Si A = 0, B = 1, C = 0 entonces Y= f(0,1,0) = 0.1 + 1.0 + 0.1 = 0, etc. A diferencia de las funciones de variable real, las cuales no pueden representarse completamente usando una tabla de valores, las funciones booleanas sí quedan totalmente especificadas por una tabla que incluya todas las posibles combinaciones de valores que pueden tomar las variables independientes, dicha tabla se denomina tabla de verdad y es completamente equivalente a la expresión booleana, ya que incluye todas sus posibilidades. Ejemplo. La siguiente es la tabla de verdad para la función del ejemplo anterior En general para una función de n variables, puesto que hay n variables y cada variable tiene dos posibles valores, hay 2n maneras de asignar estos valores a las n variables, así la tabla de verdad tendrá 2n renglones. Por ejemplo en el ejemplo anterior f(A,B,C) es una función de 3 variables, por lo que tenemos 23 =8 diferentes combinaciones de las entradas y por lo tanto 8 renglones de la tabla de verdad.
  • 18. 18 2.4.1 FUNCIONES BOOLEANAS DE UNA Y DOS VARIABLES En el caso de funciones de variable real sería imposible tratar de mencionar todas las posibles funciones de una o más variables, sin embargo, en el caso de funciones booleanas se puede hacer un listado completo de todas y cada una de las funciones para cierto número de variables. a continuación se hace una lista de éstas para los casos de 0, 1 y 2 variables independientes: Funciones de cero variables. Estas son las funciones constantes y sólo hay dos: f0 = 0 Función constante cero f1 = 1 Función constante uno Funciones de una variable. Además de las funciones constantes ahora se pueden definir otras dos: f0(A) = 0 Función constante cero f1(A) = A Función identidad f2(A) = A Función complemento, negación f3(A) = 1 Función constante uno Funciones de dos variables. En este caso se pueden definir 16 funciones diferentes, las cuales incluyen las cuatro anteriores y otras doce más. En las siguiente tabla se muestra un resumen de las dieciséis funciones de dos variables, incluyendo su nombre, su tabla de verdad, y su expresión lógica (booleana). OBSERVACIÓN. Ciertamente, las expresiones lógicas que aparecen en la tabla anterior no son únicas, ya que una misma función lógica puede tener diferentes representaciones algebraicas.
  • 19. 19 Ejemplo: Es fácil ver que A B = AB + AB = (A + B)(A + B) o bien, también por ejemplo A B = A / B = AB + AB = (A + B)(A + B) ... etc. A continuación se presenta una alternativa gráfica para trabajar en el análisis y diseño de funciones booleanas a partir de bloques funcionales que se representan mediante símbolos lógicos. 2.4.2 SÍMBOLOS DE PUERTAS LÓGICAS Una manera generalizada de representar las funciones lógicas es el uso de símbolos o bloques lógicos denominados puertas o compuertas lógicas. Estas puertas en general representan bloques funcionales que reciben un conjunto de entradas (variables independientes) y producen una salida (variable dependiente) como se muestra en la figura siguiente. Una de las ventaja de usar éstos símbolos es que por ser una representación entrada / salida permiten la “interconexión” de puertas (la salida de una con la entrada de otra) para representar funciones más complejas a partir de funciones sencillas. Otra ventaja es el hecho de que los bloques sencillos (puertas con pocas entradas) se encuentran disponibles en circuitos integrados comerciales, de aquí que un diagrama de puertas lógicas corresponde directamente a un diagrama de alambrado de circuito lógico.
  • 20. 20 A continuación se presentan los símbolos para las funciones lógicas más sencillas, especialmente para las presentadas en la sección anterior. PUERTA AND La salida de una compuerta AND es 1 solamente si todas sus entradas son simultáneamente 1, de lo contrario es 0. PUERTA OR La salida de una compuerta OR es 1 solamente si todas sus entradas son simultáneamente 0, de lo contrario es 1. INVERSOR O PUERTA NOT Un inversor es una puerta de solamente una entrada y su salida es el complemento lógico de la entrada. Es decir, cuando a la entrada de una puerta NOT hay un 1 su salida será 0, y de lo contrario cuando su entrada es 0, su salida será 1
  • 21. 21 NAND Esta es una función lógica compuesta. Se puede visualizar como una compuerta AND seguida por una compuerta NOT y su salida es 0 sólo cuando todas sus entradas son simultáneamente 1. PUERTA NOR Esta Compuerta es una combinación de las funciones de un operador OR seguido por un INVERSOR. La salida de una puerta NOR sólo será 1 cuando ambas entradas valgan 0 PUERTA EXOR (OR EXCLUSIVO) La operación EXOR se denota por el símbolo , es decir, A EXOR B = A B. Además, como se vio antes, A B = AB+AB. La salida de una puerta EXOR será 1 si sus entradas son diferentes y será 0 si son iguales.
  • 22. 22 PUERTA NO-EXOR O EQUIVALENCIA (EQU) La operación EQU se denota por el símbolo ?, es decir, A EQU B = A ? B. Además, como se vió antes, A ? B = A /B AB AB La salida de una puerta EQU será 1 si sus entradas son iguales y será 0 si son diferentes. 2.4.3 EQUIVALENCIA ENTRE PUERTAS LÓGICAS Usando álgebra de Boole es posible obtener una gran variedad de equivalencias entre símbolos de puertas lógicas y diagramas de alambrado de circuitos lógicos. a continuación se muestran sólo algunas equivalencias sencillas:
  • 23. 23 En forma similar, dado un circuito lógico, empleando álgebra de Boole es posible obtener la expresión lógica de la función que realiza, simplemente escribiendo a la salida de c ada puerta lógica la expresión correspondiente en términos de las entradas. Ejemplo
  • 24. 24 3 Modelo de John von Neumann (principios de 1950's) A principios de la década de 1950, von Neumann estudió los mecanismos que debe tener una máquina para que pueda tener la capacidad de construir otra máquina igual a la máquina creadora; de manera que diseñó un autómata celular con esas propiedades. A partir de la fecha de su muerte en 1957, dejó el proyecto sin terminar y desde entonces se han hecho varios intentos de completarlo; uno de los trabajos más destacados de reproducir y completar el trabajo de von Neumann se dio en el año 2000 por un grupo de especialistas en diseño de hardware en el Laboratorio de Sistemas Lógicos del Instituto de Tecnología Federal Suiza [3]. El constructor universal es uno de los conceptos que von Neumann definió y que es una parte fundamental en el diseño de esa máquina1.7 constructor universal, que es capaz de construir cualquier otra máquina constructor universal a partir de su descripción. Este proceso requiere que la descripción del constructor universal incluya su propia descripción, idea que fue tomada de modelos celulares vivos que contienen información de cómo construir otras células del mismo tipo: • La descripción muestra las características básicas de la máquina, al estilo de un genoma, que es interpretado para construir una copia del constructor universal. • La descripción es literalmente copiada, una vez que ha sido detectada y leída. Stanislaw Ulam hizo la sugerencia (a von Neumann) de implementar sus ideas en un espacio bidimensional discreto. De manera que el universo creado por von Neumann lo define una matriz bidimensional infinita, cuyas entradas, llamadas células, son máquinas de estados finitos. Después de haber estudiado el modelo con varias opciones, llegó a definir 29 estados y una regla de transición [66].
  • 25. 25 Figura 1.3: Esquema de la máquina universal de John von Neumann [66] En la figura 1.3 se muestra el esquema de la máquina autoreproductora diseñada por John von Neumann. El constructor universal está dividido en el control de la cinta (Tape control) y el control de construcción(Construction control); el control de la cinta obtiene la información de la máquina que se va a construir; y el control de construcción interpreta la descripción obtenida y construye el nuevo autómata por medio de un brazo constructor (Constructing arm). Podemos mencionar algunas características que tiene este constructor universal: • Universalidad construccional, significa que es capaz de construir cualquier autómata, si cuenta con su descripción. • Autoreproducción del constructor universal. • Autoreproducción de la máquina universal, ya que el constructor universal está definido con una máquina universal de Turing, y la cinta contiene la información completa.
  • 26. 26 Cada célula del autómata puede tener uno de 29 posibles estados. Esos estados no son catalogados de manera numérica como usualmente se propone en las máquinas finitas de estados; la manera en que los diferentes estados son identificados tiene mucho que ver con su funcionalidad. En la tabla 1.2 se describen los conjuntos de estados posibles para cada célula. Enseguida una descripción de esos conjuntos de estados. Una célula en el estado recesivo no influye en otras células. Este estado se aplica a células que no se usan, ni en la descripción de la máquina, ni en el proceso de construcción. Las células tienen 16 estados que permiten la transmisión de información entre células que no están en estado recesivo. Cada uno de estos estados de transmisión tienen una de cuatro direcciones: norte, sur, este y oeste; hay una distinción entre estados activos o inactivos. Además, se pueden distinguir estados de transmisión ordinarios y de propósito especial que propagan diferentes tipos de activación. Los estados de transmisión ordinarios propagan activaciones ordinarias en su dirección de salida, por su parte, los estados de transmisión especial, también propagan activaciones especiales en su dirección de salida. Las propagaciones ordinarias introducen un retardo de un paso de tiempo en la propagación de la activación y actúan como una compuerta OR. Un estado cambia a activo si recibe una señal de activación ordinaria o especial desde uno de sus tres lados confluentes. Los 4 estados confluentes se usan para transmitir activaciones, funcionan como compuertas AND, generan un retardo de dos tiempos en la transmisión de una activación y pueden dividir el flujo de transmisión, comportándose como un distribuidor. Un estado confluente puede ser o cuando todas las células vecinas estén en estado de transmisión ordinaria dirigidas hacia ellas, si cualquiera está en estado activado.
  • 27. 27 Figura 1.4: Evolución de los estados de transmisión y confluentes de la máquina de von Neumann [3] En la figura 1.4 se pueden apreciar en 6 pasos de tiempo, las evoluciones del autómata celular de von Neumann en diferentes situaciones: • en la columna a se muestra cómo se propagan las señales de activación en actividades ordinarias, • en las columnas b y c se muestran las actividades de los estados confluentes, comportándose como compuertas AND (columna b) y OR (columna c). Los 8 estados restantes se usan para construir los procesos, que también se llaman procesos dirigidos, que como excepción, sí pueden crear estados recesivos o cambiar de un estado recesivo a estados de transmisión no activados o a estados confluentes. Estos estados se llaman estados sensibles aunque cambian de estado en una unidad de tiempo. Una célula que se encuentre en estado recesivo puede cambiar su estado al estado sensible si recibe una señal de activación ordinaria o especial por alguno de sus lados, luego puede cambiar al estado sensible si no recibe ninguna señal de activación, o a en caso de que sí reciba.
  • 28. 28 Figura 1.5: Proceso de construcción de la máquina de von Neumann [3] La figura 1.5 muestra el ciclo constructivo en que pueden encontrarse las células en el autómata, mientras se encuentren en uno de esos 9 estados desactivados. Una célula que se encuentre en un estado sensible no ejerce influencia en sus vecinos. Finalmente se describe una manera de cambiar el estado de transmisión o confluente a un estado recesivo, y se puede hacer de dos maneras: enviando una activación especial por uno de los 4 lados de un estado de transmisión ordinaria o de un estado confluente; y la otra manera es enviar una activación ordinaria por uno de los cuatro lados de un estado de transmisión especial.
  • 29. 29 4 Concepto De Programa Almacenado Según von Neumann, la clave para construir una máquina de propósito general es poder almacenar no sólo los datos y los resultados intermedios de una computación, sino también las instrucciones que definen el procedimiento de computación. En una máquina de propósito especifico, el procedimiento puede ser parte de la máquina. Sin embargo, en una máquina de propósito general, cambiar las instrucciones tiene que ser tan fácil como cambiar los datos sobre los que actúan. La solución es codificar las instrucciones de forma numérica y guardarlas junto con los datos en la misma memoria. Este es el concepto de programa almacenado. Los primeros computadores no se diferenciaban mucho de las máquinas de propósito específico que hay hoy en día, en el sentido que sólo pueden resolver un tipo particular de problema. El aporte de von Neumann fue precisamente hacer ver la necesidad de separar el programa de la máquina misma, para así poder reconfigurar el computador según fuese necesario. El concepto del programa almacenado, un concepto teórico muy importante que fue establecido por el matemático John von Neumann el 30 de junio de 1945 en un borrador sobre el diseño de la EDVAC. A diferencia de los primeros computadores, von Neumann proponía que tanto el programa como sus datos fueran almacenados en la memoria del computador. Esto no solo simplificaba la labor de programación al no tener que llevar a cabo el recableado del computador sino que además libraba y generalizaba el diseño del hardware para hacerlo independiente de cualquier problema y enfocado al control y ejecución del programa. Este concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura de von Neumann, aún presente en nuestros días.
  • 30. 30 5 Lenguaje De Maquina Instrucciones y Datos 5.1 Lenguaje de Máquina Es el único lenguaje que entiende el hardware (máquina) y usa exclusivamente el sistema binario. Este lenguaje es específico para cada hardware (procesador, dispositivos, etc.) Los lenguajes máquina, son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la UCP, pueda entender y ejecutar el programa. Las instrucciones en lenguaje máquina, se expresan en términos de la unidad de memoria más pequeña, el bit (digito binario 0 o 1), en esencia una secuencia de bits que especifican la operación y las celdas implicadas en una operación. Una serie de instrucciones en lenguaje maquina son 0010 0000 0000 1001 1001 0001 1001 1110 Como se puede observar, estas instrucciones serán fáciles de leer por la computadora y difíciles por un programador, y viceversa. Esta razón hace difícil escribir programas en código o lenguaje a maquina y requiere buscar otro lenguaje pare comunicarse con la computadora, pero que sea mas fácil de escribir y leer por el programador. Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han diseñado otros lenguajes de programación que facilitan la escritura y posterior ejecución de los programas.
  • 31. 31 5.2 Lenguaje Ensamblador Es un lenguaje que usa mnemónicos (palabras cortas escritas con caracteres alfanuméricos), para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como números en un sistema hexadecimal. Generalmente es específico (aunque no único) para cada lenguaje de máquina. La estructura de una instrucción en este lenguaje es la siguiente: MNEMONICO ARGUMENTO(S) Un ENSAMBLADOR es un software, generalmente escrito en lenguaje de máquina, que es capaz de traducir de lenguaje ensamblador a lenguaje de máquina, mientras que un CARGADOR es un software que almacena en memoria el programa en lenguaje de máquina generado por el ensamblador. 5.3 Ciclo De Ejecución De Instrucciones Ciclo de búsqueda de instrucciones. En él se transfiere la dirección de la siguiente instrucción al bus de direcciones, se envía una orden de lectura a los dispositivos de memoria a través del bus de control, se lee la información del bus de datos, y si se trata del primer byte de una instrucción, se transfiere este byte al registro de instrucciones. Ciclo de ejecución de instrucciones. En él se ejecuta la instrucción. El registro de instrucciones está conectado a un decodificador, que determina cuántos bytes de información adicionales se requieren. Éstos se cargan mediante ciclos de búsqueda, como se indicó con anterioridad. Cuando la ejecución está completa, la máquina comienza automáticamente el ciclo de búsqueda de la siguiente instrucción del programa. La ejecución es por tanto, una secuencia continua de ciclos de búsqueda y ejecución.