Digitales I
UNE DAET
ALGEBRA DE BOOLE En 1847 un matemático inglés autodidacta llamado George Boole (1815 – 1864), desarrolla unos símbolos matemáticos con unas reglas que pueden ser aplicadas en problemas de lógica deductiva. Hacia el año 1854, publicó un libro en el que explicaba cómo convertir las proposiciones lógicas en símbolos matemáticos y cómo aplicar ciertas reglas muy simples para determinar la verdad o falsedad de proposiciones relacionadas entre sí. La matemática desarrollada por Boole se conoce en la actualidad como álgebra booleana, álgebra de Boole ó lógica simbólica. Después de su muerte, algunos matemáticos perfeccionaron su sistema para hacerlo más utilizable, nos interesa particularmente la aplicación que en 1938 ideó el científico Claude E. Shannon. En su tesis de graduación del Instituto Tecnológico de Massachuset, Shannon demostró cómo podía aplicarse el álgebra de Boole al diseño y la simplificación de los relés y circuitos de conmutación que se utilizan en los complejos circuitos que forman las computadoras electrónicas, pues permite simplificar las conexiones físicas reduciendo el hardware y consiguientemente el espacio necesario para alojarlo. En este tema nos ocuparemos brevemente de esta lógica de la conmutación, como podríamos llamarla, pero limitándonos a los circuitos de conmutación y las compuertas (llamadas también “puertas lógicas”). Nos interesa la lógica del circuito, no la electrónica. No obstante, los conceptos que expondremos a continuación son los mismos que se aplican a la película delgada, los núcleos magnéticos, los transistores y demás componentes de los circuitos empleados en las computadoras. Para facilitar la discusión de los circuitos de conmutación, recurriremos a la siguiente notación: Circuito eléctrico; la flecha indica el sentido de circulación de la corriente.
Interruptor abierto , o en la posición “desconexión”
Interruptor cerrado, o en la posición “conexión” Ejemplo 1:
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
El interruptor está abierto (desconexión). No hay paso de corriente
El interruptor está cerrado (conexión). Hay paso de corriente CIRCUITOS EN SERIE Y CIRCUITOS EN PARALELO1 Circuitos en serie Todos los interruptores de un circuito en serie deben estar cerrados para que pueda circular la corriente:
A
B
Tanto A como B deben estar cerrados para que pueda circular la corriente por este circuito
X
Y
Z
Los tres interruptores X, Y, y Z deben estar cerrados para que pueda circular la corriente por este circuito.
Circuitos en paralelo En los circuitos en paralelo basta con que uno de los interruptores esté cerrado para que pueda circular la corriente:
A X
En
Y B Z
este circuito habrá flujo o paso de corriente si A, o B, o ambos, están cerrados.
1
No se indicarán las fuentes reales de corriente. Para facilitar la explicación, supongamos que la fuente de corriente se encuentra a la izquierda y que la dirección del flujo o paso de corriente es de izquierda a derecha.
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
También en este circuito circulará la corriente si por lo menos uno de los interruptores X, Y, y Z está cerrado.
Uso de tablas Los resultados del ejemplo de circuito en serie, pueden presentarse de manera sencilla y clara recurriendo a una tabla como la siguiente. A
B
CORRIENTE
Abierto
Abierto
No pasa
Abierto
Cerrado
No pasa
Cerrado
Abierto
No pasa
Cerrado
Cerrado
Pasa
Introduzcamos ahora la siguiente notación: 0 significa interruptor abierto o “no circula corriente”. 1 significa interruptor cerrado o “circula la corriente”. ● representa la operación lógica “Y”. Por ejemplo, A ● B se lee “A Y B”. Con esta notación, la tabla anterior se simplifica del modo siguiente: A
B
A●B
0
0
0
0
1
0
1
0
0
1
1
1
Esta tabla equivale a la tabla aritmética A●B
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
0●0=0 0●1=0 1●0=0 1●1=1
Así: A ● B = 1 sólo cuando A = 1 y B = 1. A ● B = 0 en cualquier otro caso. Es preciso recordar que en un circuito en serie con dos interruptores, solo circula corriente cuando los dos interruptores están cerrados. En cualquier otro caso, no hay paso de corriente.
Pasemos ahora al caso de dos interruptores en paralelo y construyamos la tabla A
B
CORRIENTE
Abierto
Abierto
No pasa
Abierto
Cerrado
Pasa
Cerrado
Abierto
Pasa
Cerrado
Cerrado
Pasa
A
B
A+B
0
0
0
0
1
1
1
0
1
1
1
1
O, con la notación ya introducida,
Usando el signo “+” para representar la operación lógica “O”, A + B se lee “A O B”, y tenemos la siguiente tabla aritmética:
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
A+B 0+0=00 +1=11 +0=11
+1=1 En otros términos: A + B = 1 si o A es 1, o B es 1, o si ambos son 1. A + B = 0 solo si tanto A como B = 0. Aunque el resultado 1 + 1 = 1 pueda parecer extraño, es necesario tener presente que no se trata de una adición aritmética, sino de la operación lógica O. Con esta observación, el resultado será más fácil de aceptar. ROTULACIÓN Y REPRESENTACIÓN GRÁFICA DE CIRCUITOS LÓGICOS2 Intentemos ahora rotular y representar gráficamente algunos circuitos simples de conmutación.
Rotule el circuito de la derecha indicando
A
B
en qué condiciones circulará la corriente. Sólo habrá corriente si A y B están cerrados. Luego el “rótulo” correspondiente es A ● B.
Rotule el circuito de la derecha. En este caso, el rótulo es C + F, puesto que habrá corriente si cualquiera de los dos interruptores está cerrado.
2
El rótulo ha de indicar en todos los casos las condiciones en que hay corriente.
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
Rotule el circuito de la derecha. El rótulo es en este caso, , puesto que habrá corriente si A y B están cerrados, o si C está cerrado. Luego el rótulo es: (A ● B), C.
C
Lo que se escribe:
F
A●B+C
Rotule el circuito de la derecha. Obsérvese que el interruptor P debe estar necesariamente cerrado para que circule la corriente. De los otros interruptores (Q y R), basta con que uno esté cerrado. Luego el rótulo es: P y (Q o R).
A
B
C
Que se escribe: P ● (Q + R) Q
Adviértase también que en esta expresión es necesario utilizar paréntesis, porque la jerarquía de las operaciones es la misma que en aritmética: multiplicación antes que la adición (Y antes que O). Si no usáramos paréntesis y escribiéramos P ● Q + R, estaríamos rotulando el circuito siguiente: P
P
R
Q
R
Que no es el que teníamos originalmente. Veamos otros ejemplos de circuitos combinados (serie – paralelo)
Ejemplo: Rotule A
C
B
D
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
Siguiendo el camino de la corriente, observamos que para que ésta pueda circular, deben cumplirse dos condiciones necesarias: 1. Por lo menos uno de los interruptores A, B debe estar cerrado. 2. Por lo menos uno de los interruptores C, D debe estar cerrado. Luego lo que necesitamos es (A o B) y (C o D); es decir, el rótulo es: (A + B) ● (C + D) Ejemplo: Dibuje un circuito que represente la expresión booleana (A ● B) ● (C + D). (A ● B) ● (C + D) ⇓
⇓
⇓ C
y A
B D
El rótulo original pudo haberse escrito A ● B ● (C + D). C A
B D
Ejemplo: Dibuje un circuito que represente la expresión booleana (A + B + C) + (X ● Y)
A
B C
D
X
Y
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
El rótulo original pudo haberse escrito A + B + C + X ● Y. Ejercicios de práctica: 1. Forme la tabla binaria correspondiente a tres interruptores en serie. 2. Forme la tabla binaria correspondiente a tres interruptores en paralelo. 3. Ilústrase a continuación una computadora muy simple, pero capaz de responder a la pregunta: “¿Están los dos interruptores cerrados?”. Si la respuesta es “sí”, se enciende la lámpara. Si la respuesta es “no”, la lámpara permanece apagada. Dibuje el circuito de una computadora de este tipo capaz de responder a la pregunta “¿Está por lo menos uno de tres interruptores cerrado?”. Indique cómo se daría la respuesta.
BATER ÍA
4. Rotule
D
A
B
C
E
F
5. Represente gráficamente (A + B) + (C ● D).
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
6. Rotule A
B
D
C
E
F
7. Rotule B C
A D
E
8. Represente gráficamente (A + B + C) ● (D + E ● F) + G. 9. Represente gráficamente A ● (B ● D + E + C● F). 10. Represente gráficamente X + Y + W ● Q + R. 11. Rotule
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
E
A
F
C
B
D
12. Represente gráficamente (A + B + C) ● (D ● E + F) ● H + I. 13. Rotule
B
C
D
A
G E F
14. Calcule el valor de cada una de las expresiones Booleanas siguientes: a. 1 + 0 + 0 ● 1 b. 1 ● 1 ● 1 c. 1 + (1 ● 0 ● 1) d. 0 ● (1 + 1) e. 1 ● (0 + 1 ● 0 + 0) DEFINICIÓN DE ÁLGEBRA DE BOOLE Un conjunto cualquiera A en el que se han definido dos operaciones binarias que llamaremos suma lógica ( + ) y un producto lógico ( ● ), una operación unitaria que llamaremos complemento ( ∼ ), se dice que es un Álgebra de Boole si se cumplen las siguientes propiedades axiomáticas:
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
A1. Conmutativa: para todo a y b que son elementos del conjunto A; la suma de a + b es igual que b + a de la misma manera que el producto de a • b es igual a b • a. ∇ a, b ∈ A, a + b = b + a y a • b = b • a A2. Identidad: Los elementos neutros de ( + ) y ( ● ) son, respectivamente, el elemento cero (0) y el elemento (1). ∇ a ∈ A, a + 0 = a y a • 1 = a A3. Distributiva: ∇ a, b, c ∈ A, a + (b • c) = (a + b) • (a + c) y a • (b + c) = (a • b) + (a • c) A4. Complementario: ∇ a ∈ A, a + ∼a = 1 y a • ∼a = 0
Comentarios importantes a) De los axiomas anteriores se deducen las siguientes tablas para las operaciones ( + ) y ( ● ). Suma lógica
Producto lógico
(+)
(●)
+
0
1
●
0
1
0
0
1
0
0
0
1
1
1
1
0
1
Así 0+0=0
0•0=0 0+1=1
0•1=0
1+0=1
1•0=0
1+1=1
1•1=1
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
b) Para que el Álgebra de Boole anterior sea aplicable a circuitos lógicos se define un conjunto A de dos elementos como A = {0, 1}, con las operaciones ( + ) y ( ● ). En consecuencia, las variables a, b, c,… que utilizamos son variables binarias, y sólo pueden tomar un valor de entre dos posibles valores que son “0” y “1”. Al Álgebra de Boole de varias variables binarias se le denomina Álgebra de Boole binaria. A partir de ahora supondremos que seguimos trabajando con esta álgebra. c) La operación producto lógico ( ● ) muchas veces se omitirá, dejándose sobreentendida si se escriben varias variables seguidas; así por ejemplo, son equivalentes las expresiones siguientes: a • (b + c) = a • b + a c ⇔ a (b + c) = a b + a c d) Se supondrá, al igual que en el álgebra ordinaria, que la operación ( ● ) es prioritaria sobre la ( + ), salvo que esta prioridad se altere por medio de los paréntesis. Así: es lo mismo que a + (b • c) a • (b + c) y es diferente a (a + b) • c Teoremas Por medio e los axiomas anteriores, se pueden demostrar los siguientes teoremas dados en la tabla. Teorema 1: Dualidad Se puede pasar de una propiedad a otra análoga (dual) intercambiando entre sí las operaciones ( + ) y ( ● ). Así por ejemplo, la dual de a + 0 = a es a ⋅ 1 = a Esto es lógico, pues si hemos demostrado una propiedad, la dual se puede demostrar haciendo los pasos duales de la citada demostración. Suma Producto Teorema 2: Idempotencia a+a=a a•a=a Teorema 3: Identidad de los elementos 0 y 1 a+1=1 a•0=0 Teorema 4: Absorción a + (a • b) = a a • (a + b) = a Teorema 5: Asociatividad a + (b + c) = (a + b) + c) a • (b • c) = (a • b) • c) Teorema 6: Complementarios de 0 y 1 ~ 0 = 1 ~1=0 Teorema 7: Involución (o doble complemento) ~ (~ a ) = a Teorema 8: Leyes de Morgan ~ (a + b) = ~ a • ~ b ~ (a • b) = ~ a + ~ b Teorema 9: No tiene un nombre especial a + ~ a • b = a + b a • (~ a + b ) = a • b
Como ejemplo, vamos a demostrar a través de axiomas uno de estos teoremas: Teorema 2: Idempotencia a + a = a
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
Demostración: Partiremos del segundo miembro de la igualdad para llegar al primer miembro, aplicando los axiomas del Álgebra de Boole. Pondremos a la izquierda los pasos de la demostración y a la derecha el axioma o teorema aplicado. a= =a+0=
Por A2): Por A4):
a+0=a a+~a=0
=a+a•~a
Por A3):
a + (b • c) = (a + b) • (a + c)
= (a + a) • (a + ~ a) =
Por A4):
a+~a=1
= (a + a) • 1 =
Por A2):
a•1=a
=a+a Con lo que queda demostrada la idempotencia de la suma lógica. RELACIÓN ENTRE ÁLGEBRA DE CONJUNTOS, ÁLGEBRA DE PROPOSICIONES Y ÁLGEBRA DE BOOLE BINARIA Hemos obtenido en los temas anteriores los siguientes resultados: •
El conjunto de las partes de un conjunto tiene estructura de álgebra de Boole, con las operaciones unión e intersección, y las propiedades de la complementación.
•
El conjunto de las proposiciones lógicas tiene estructura de Álgebra de Boole con los conectivos disyunción, conjunción y negación.
•
Las equivalencias entre las operaciones de estos tres álgebras se ponen de manifiesto en la siguiente tabla.
Álgebra de conjuntos
Álgebra de proposiciones
Álgebra de Boole
Unión
(∪ )
Disyunción
(∨ )
Suma
Intersección
(∩)
Conjunción
(∧)
Producto
Conjunto vacío
(∅ )
Falso
(F)
Elemento 0
(0)
Conjunto universal
(U)
Verdadero
(V)
Elemento 1
(1)
Complemento
(~ )
Negación
(~)
Complementario
(~)
Lic. Carlos . Alegria Pariona
(+) (•)
Digitales I
UNE DAET
Ejemplo: Demostrar que a+b+1=1 y a•b•0=0 a) Por tablas de valores. b) Por axiomas y teoremas. a) Por tablas de valores. Construiremos las tablas de valores por el procedimiento contrario al empleado en el álgebra de proposiciones, colocando primeramente los “0” y luego los “1” en lugar de las “V” y las “F”. a
b
a+b
(a + b) + 1 = 1
a
b
a•b
a•b•0=0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
Donde se ve que siempre vale 1, luego: a+b+1=1
Donde se ve que siempre vale 0, luego: a•b•0=0
b) Por axiomas y teoremas. •
a+b+1= = ( a + b )+ 1 =
Asociativa A + 1 = 1 (siendo A = a + b)
•
a•b• 0= =(a•b)•0= =0
Asociativa
=1
A ⋅ 0 = 0 (siendo A = a • b)
Nótese que ambas demostraciones son análogas debido a la dualidad existente entre las operaciones.
FUNCIONES DE BOOLE Veamos ahora otras técnicas como aplicación de las funciones de Boole, que principalmente se usan en el diseño y simplificación de circuitos lógicos digitales en los que está basada la arquitectura básica de la computadora.
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
Estas técnicas permiten simplificar las funciones booleanas y, de esta forma, conducen luego a circuitos digitales más sencillos y, por tanto, a circuitos lógicos que ocupan menos espacio (es decir, permiten la construcción de computadoras de menor tamaño).
Relación entre estados eléctricos y estados lógicos Supongamos que estamos experimentando con un circuito que posee dos entradas y una salida.
CIRCUITO
Se obtienen diferentes salidas para unos determinados valores en las entradas, que sólo responden con tensiones eléctricas de 0 y 10 voltios; por tanto, son señales digitales que tienen dos estados. De esta forma hemos obtenido las tensiones eléctricas de la tabla siguiente: Voltaje A
Voltaje B
Voltaje C
0 voltios 0 voltios 10 voltios 10 voltios
0 voltios 10 voltios 0 voltios 10 voltios
0 voltios 10 voltios 10 voltios 10 voltios
Esta es la situación real, pero conviene olvidarse por ahora de los estados eléctricos y trabajar con estados lógicos de “0” y “1”. Tomando lo que se denomina lógica positiva se asocia: • •
La tensión más alta con el estado lógico “1”. La tensión más baja con el estado lógico “0”.
Si se hiciera la asociación contraria, estaríamos usando lógica negativa. Suponiendo que usamos lógica positiva, los valores de las tensiones eléctricas se representan en forma de estados lógicos en la siguiente tabla: A
B
C
0 0 1 1
0 1 0 1
0 1 1 1
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
Y, como se ve, la salida C obtiene la suma lógica de las entradas A y B, es decir, que la función que realiza ese circuito es C=A+B Que en electrónica digital se corresponde con la puerta OR
En electrónica digital se dispone de las puertas elementales que se detallan en la tabla siguiente, con las que es posible trasladar cualquier función de Boole a un circuito electrónico.
Puerta
Función
Descripción
NOT
~A
AND
A•B
Producto
OR
A+B
Suma
XOR
A • ~B + ~A • B
NAND
~( A • B )
Complemento del producto
NOR
~( A + B )
Complemento de la suma
Complemento
Suma exclusiva
Nótese que las variables binarias se representan con letras mayúsculas. COMPUERTAS Muchas de las funciones básicas de las unidades aritméticas y de control de las computadoras se realizan utilizando circuitos formados por combinaciones de compuertas3. Estas funciones incluyen: 1. 2. 3. 4. 5. 6. 3
La suma de números binarios. La codificación binaria de números decimales. La decodificación de binario a decimal. La comparación de dos números. La sincronización. La cuenta.
La compuerta constituye el circuito lógico elemental.
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
7. El almacenamiento de resultados aritméticos. Cada compuerta es un circuito que acepta una entrada o más, en forma de impulso (1) o impulso invertido (0), y proporciona una salida del mismo tipo, es decir, impulso o impulso invertido (1 o 0).
ENTRADAS
CIRCUITO
SALIDA
Compuerta Y (AND) La compuerta Y equivale a un circuito en serie. Produce como salida un impulso (1), si hay impulso en todas sus entradas. El símbolo que sigue es el que se usa corrientemente para representar una compuerta Y con dos entradas. A
A•B B
Compuerta O (OR) La compuerta O equivale a un circuito en paralelo, pues da como salida un impulso cuando cualquiera de sus entradas es un impulso. El impulso utilizado normalmente para representar una compuerta O con dos entradas es el que figura a continuación.
A A+B B
Inversor (Complemento) El inversor da como salida el estado opuesto al de entrada. Si la entrada es un impulso, la salida es un impulso invertido y viceversa. Simbólicamente, decimos que a la entrada A corresponde la salida ~A. ~A representa A invertido, es decir, el complemento de A. El símbolo es el que aparece a continuación. A
~A
Compuerta NO-Y (NAND) Llámase compuerta NO-Y al conjunto formado por una compuerta Y seguida de un inversor, tal como se ilustra a continuación.
A ~ (A • B)
A•B B
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
El símbolo más comúnmente usado para esta compuerta es el siguiente.
~ (A • B)
A B
Le corresponde la tabla binaria Y
NO-Y
⇓
⇓
A
B
A⋅B
~(A ⋅ B)
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
Compuerta NI (NOR) La compuerta NI está formada por una compuerta O seguida de un inversor.
A
A+B
~(A + B) B
El símbolo usual es A ~(A + B) B
Le corresponde la tabla binaria
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
O
NI
⇓
⇓
A
B
A+B
~(A + B)
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
Compuerta O EXCLUSIVA (XOR)4 Tratándose de dos entradas, la compuerta O EXCLUSIVA queda representada por la expresión booleana A ⋅ ~B + ~A ⋅ B, que corresponde a.
A
A • ~B
B A • ~B + ~A • B A B
Simplificando A
~A • B B A • ~B
B A • ~B + ~A • B A B
~A • B
Le corresponde la tabla binaria XOR
4
XOR es la abreviatura de exclusive OR, nombre en inglés de este tipo de compuerta.
Lic. Carlos . Alegria Pariona
Digitales I
UNE DAET
⇓ A
B
~A
~B
A • ~B
~A • B
A • ~B + ~A • B
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
0
0
Si describimos la tabla, podemos decir, si A o B (pero no ambos) es un impulso, el resultado es también un impulso. En cualquier otro caso, la salida es un impulso invertido. Ejercicios de práctica: 1. Represente una compuerta Y con tres entradas. Dibuje también un circuito en serie sencillo con tres interruptores. 2. Represente una compuerta O con tres entradas. Forme la correspondiente tabla binaria. 3. forme un atabla binaria para mostrar el efecto del inversor sobre un impulso y sobre un impulso invertido. 4. Represente una compuerta NO-Y de tres entradas y forme su tabla binaria. 5. Represente una compuerta NI de tres entradas y forme su tabla binaria. 6. Represente una compuerta O de dos entradas con sendos inversores intercalados. Forme la tabla binaria correspondiente. 7. Represente una compuerta Y de dos entradas con sendos inversores intercalados. Forme la tabla binaria correspondiente. 8. Represente gráficamente (A + B) • (C + D) 9. Represente gráficamente (A + B) • C 10. Represente gráficamente (A • B) + (C • D)
Lic. Carlos . Alegria Pariona