5 - Álgebra de Boole y Circuitos
5 - Álgebra de Boole y Circuitos
5 - Álgebra de Boole y Circuitos
Parte 1
ARQUITECTURA DE COMPUTADORES
Introducción
En esta Unidad se analizan los principios básicos de la lógica digital que se aplican al diseño de una
computadora digital.
En 1884 George Boole publicó su trabajo sobre un Álgebra para representar la Lógica. Boole estaba
interesado en capturar la matemática del pensamiento y desarrolló una representación para las
declaraciones como "la puerta está abierta" o "la puerta está no abierta".
El Álgebra de Boole, en su forma actual fue desarrollada por Shannon (1916-2001). Ingeniero eléctrico
y matemático estadounidense, considerado el fundador de la teoría de la información.
Demostró que el Álgebra booleana se podía utilizar en el análisis y la síntesis de la conmutación de los
circuitos digitales.
ARQUITECTURA DE COMPUTADORES
Introducción
Los circuitos en computadoras digitales y otros sistemas digitales se diseñan y se analizan a
través del algebra de Boole.
Análisis -> Es una forma concisa de describir el funcionamiento de los circuitos digitales.
Diseño -> Dada una función deseada, se puede aplicar el algebra de Boole para desarrollar una
función simplificada de la dada e implementarla a través de circuitos digitales.
ARQUITECTURA DE COMPUTADORES
Variable de Boole
Se define como variable de Boole a aquella variable que solo puede tomar dos
estados.
Ejemplos:
Si / No
Verdadero / Falso
Encendido / Apagado
0/1
Una función de Boole es aquella que está formada por variables de Boole y cuyo
valor de la función, al ser de Boole, también podrá tomar dos estados posible.
ARQUITECTURA DE COMPUTADORES
Operadores Fundamentales
El algebra de Boole reconoce dos operadores fundamentales:
◦ SUMA LOGICA (+; OR)
◦ PRODUCTO LOGICO (; AND)
◦ COMPLEMENTO O NOT (-)
Estos operadores y cualquier función booleana quedan definidos mediante sus
Tablas de Verdad.
La Tabla de Verdad es la representación a través de una tabla, donde se muestran
los valores de la función para todas las posibles combinaciones de las variables
que conforman la misma (también se dice combinaciones de entrada)
Se dice que dos funciones son iguales cuando tienen la misma tabla de verdad
ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Leyes conmutativas Leyes Distributivas Leyes de Identidad
Ambas operaciones binarias Cada operación binaria (suma y Dentro del Álgebra existen dos
(suma y producto) son producto) es distributiva respecto de elementos neutros, el 0 y el 1, que
conmutativas, esto es que si a y la otra: cumplen la propiedad de identidad
b son elementos del Álgebra se con respecto a cada una de las
verifica que: a· (b + c) = (a· b) + (a · c) operaciones binarias:
a+b=b+a a + (b · c) = (a + b) · (a + c) a+0=a
a· b = b · a a·1=a
ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Propiedad o Ley de Complementación o Propiedad o Ley Anulación de la variable
Inverso
Para cada elemento del Álgebra de Boole se verifica
Para cada elemento a del Álgebra, existe que:
un elemento denominado a negada, tal
que: a+1=1
a+a=1 a·0=0
a y a no pueden ser cero al mismo Según esta propiedad y las “leyes de identidad” citadas
tiempo, anteriormente, se deduce que:
ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Propiedad o Ley de ídem potencia Propiedad o Ley de absorción
Para cada elemento a de un Álgebra de Para cada par de elementos del Álgebra de Boole, a y b,
Boole se verifica que: se verifica que:
a+a=a a + ( a · b) = a
a·a=a a · (a + b) = a
Confeccionando la tabla de verdad se puede demostrar,
por ejemplo, para la primera igualdad:
ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Teorema 4 - Ley de absorción Teorema 5 – Propiedad Asociativa
Para cada par de elementos del Álgebra de Boole, a y b, se verifica En el Álgebra de Boole la suma y el
que: producto son asociativos:
a + ( a · b) = a a + b + c = (a + b) + c = a + ( b + c)
a · (a + b) = a a · b · c = (a · b)· c = a · (b · c)
Confeccionando la tabla de verdad se puede demostrar, por
ejemplo, para la primera igualdad (tabla 5-5):
ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Propiedad Asociativa Propiedad de la doble negación o Ley de involución
a + b + c = (a + b) + c = a + ( b + c)
a · b · c = (a · b)· c = a · (b · c)
ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Teorema o Ley de DeMorgan
En todo Álgebra de Boole se verifican las siguientes igualdades permiten transformar sumas en
productos y productos en sumas:
1) a + b = a . b
2) a . b = a + b
Consecuencia:
1) a + b = a . b = a + b
2) a . b = a + b = a . b
ARQUITECTURA DE COMPUTADORES
Simplificar a/las propiedades del Algebra de Boole
Z= A . B. (AD)+ A . (B + C) + A . B . C + A . B . D
Actividad
ARQUITECTURA DE COMPUTADORES
Algunos ejercicios mas…
Simplificar utilizando las propiedades del Algebra de
Boole
ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas
ARQUITECTURA DE COMPUTADORES
Lógica positiva
En el Algebra de Boole las variables son binarias y sólo pueden tomar dos valores que
son complementarios entre si.
Estos valores se designan como:
1 SI / ALTO / VERDADERO / ON
0 NO / BAJO/ FALSO / OFF
-
-
ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: OR
Realiza la Función Suma Lógica
La función Suma Lógica o función OR
es 1 cuando alguna de las variables de A B C F
entrada vale 1. 0 0 0 0
Va a valer 0 si todas las variables de 0 0 1 1
entrada valen 0.
0 1 0 1
0 1 1 1
A F=A+ B+C 1 0 0 1
B 1 0 1 1
C 1 1 0 1
1 1 1 1
ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: AND
Realiza la Función Producto Lógico
La función producto lógico es A B C F
verdadera (valor 1) sólo cuando todas
las variables de entrada están en “1” 0 0 0 0
0 0 1 0
0 1 0 0
A 0 1 1 0
F=A BC
1 0 0 0
B
1 0 1 0
C 1 1 0 0
1 1 1 1
ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: NOT
Realiza la Complementación,
Negación o Inversa
Este operador “invierte” el valor A F= A
lógico de la entrada.
A F
0 1
1 0
El círculo indica
“negación”
ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: OR-EX / XOR
Esta función lógica especial, OR-Exclusiva es 1
sólo cuando es IMPAR la cantidad de variables
de entrada que están en “1”
Se llama OR Exclusiva justamente por A
diferenciarse de la función suma lógica en una F=A + B
combinación
A B F B
0 0 0
0 1 1
1 0 1 Se lee A “exclusive-or” B (OR-EX)
1 1 0
ARQUITECTURA DE COMPUTADORES
Compuertas Negadas: NOR
La función lógica NOR es 1, sólo
cuando todas las variables de
entrada están en “0” A
F= A+ B
B
A B F
0 0 1
0 1 0
1 0 0
1 1 0
ARQUITECTURA DE COMPUTADORES
Compuertas Negadas: NAND
La función lógica NAND es 0, sólo cuando
todas las variables de entrada están en “1”
A
F= A B
A B F B
0 0 1
0 1 1
1 0 1
1 1 0
ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: XNOR
Esta función lógica especial, XNOR-Exclusiva ó
Exclisiva – XNOR es 1 sólo cuando es PAR la
cantidad de variables de entrada que están en
“1” A
F=A + B
A B F
B
0 0 1
0 1 0
1 0 0
1 1 1
ARQUITECTURA DE COMPUTADORES
Funciones booleanas
Un conjunto de variables booleanas vinculadas entre sí mediante los operadores de suma lógica,
producto lógico y complementación constituye una función booleana.
ARQUITECTURA DE COMPUTADORES
Resumen de compuertas Booleanas
AND OR XOR NAND NOR XNOR
A B A.B A B A+B A B A+B A B A.B A B A+B A B A+B
0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1
0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0
1 0 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 0
1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1
ARQUITECTURA DE COMPUTADORES
Minitérminos y Maxitérminos
Minitérminos se define a un producto donde aparecen todas las variables que intervienen en la
función afectadas o no cada una por la negación.
a b c d
a b (c + d)
a b c d
ARQUITECTURA DE COMPUTADORES
Minitérminos y Maxitérminos
Minitérminos se define a un producto donde aparecen todas las variables que intervienen en la
función afectadas o no cada una por la negación.
a b c d X
a b (c + d) X
a b c d ✔
ARQUITECTURA DE COMPUTADORES
Minitérminos y Maxitérminos
Maxitérmino se define a una suma donde aparecen todas las variables que intervienen en la
función afectadas o no cada una por la negación.
a + b + c +d
a + b + c +d
a + b + c +d
ARQUITECTURA DE COMPUTADORES
Minitérminos y Maxitérminos
Maxitérmino se define a una suma donde aparecen todas las variables que intervienen en la
función afectadas o no cada una por la negación.
a + b + c +d X
a + b + c +d √
a + b + c +d X
ARQUITECTURA DE COMPUTADORES
Minitérminos y Maxitérminos
Para que sirven los minitérminos y maxitérminos?
Cómo?
ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
Una función se puede representar por una serie de términos canónicos
Vamos a asignar un minitérmino o producto canónico a cada una de las combinaciones de la tabla de verdad
tal que: “el producto de las variables en juego, o sus negaciones individuales, hacen que el producto valga 1
(uno)”, para esa combinación o valores de las variables de entrada. De otro modo, “es la representación de una
de las combinaciones de la tabla de verdad por medio del producto lógico”.
m0
m1
m2
m3
ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
La aplicación principal de los minitérminos es poder representar una función como la suma lógica de aquellos
minitérminos que en su tabla de verdad, la función tome el valor 1. Esto se llama expresar una función en su
forma normal disyuntiva (FND) ”.
Vamoa a asignar un maxitérmino o suma canónica a cada una de las combinaciones de la tabla de verdad por
medio de la suma lógica, tal que, dicha suma para las combinaciones de las variables de entrada sea 0.
M0
M1
M2
M3
ARQUITECTURA DE COMPUTADORES
Tablas de verdad
Una tabla de verdad es: “Una lista ordenada de las 2n combinaciones
distintas de ceros y unos, que se pueden obtener de la combinación del
valor de n variables binarias”. Para 3 variables, y considerando que los
valores que puede tomar cada una son sólo 0 o 1, la cantidad de
combinaciones binarias distintas es de 2³ = 8, para 4 variables la
cantidad de combinaciones es, entonces, 24 = 16. En términos
generales, con n variables se pueden obtener 2n combinaciones
diferentes.
ARQUITECTURA DE COMPUTADORES
Tablas de verdad
Ejemplo de aplicación de minitérminos:
Queremos diseñar un circuito que tiene 3 entradas y una salida cuyo
valor es igual a 1 si por lo menos dos entradas adyacentes son iguales a
1.
1ro) Planteamos la tabla de verdad:
A A B C S
B ? S 0 0 0
C 0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
ARQUITECTURA DE COMPUTADORES
Tablas de verdad
2do) Identificamos los minitérminos para los cuales la función S vale 1
A B C S 3ro) Se realiza la suma de los minitérminos cuya función vale 1
0 0 0 0 _ _
0 0 1 0 S=ABC+A BC+A BC
0 1 0 0 _ Esta es la expresión de la función en su forma normal disyuntiva FND
0 1 1 1 m3 = A B C (suma de productos)
1 0 0 0 4to) Se implementa el circuito (Compuertas AND y una OR)
1 0 1 0 _ _
1 1 0 1 m6 = A B C A
B
1 1 1 1 m7 = A B C C
A
_B S
C
A
B
C
ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
Forma normal disyuntiva
“Si se expresa una función como la suma lógica de aquellos minitérminos que en su tabla de verdad tengan valor
1, se obtiene la expresión de su forma normal disyuntiva FND ”.
Suma de productos que se implementan a través de compuertas AND (productos) que confluyen en una
compuerta OR (realiza la suma de dichos productos)
Forma normal conjuntiva
“Si se expresa una función como el producto lógico de aquellos maxitérminos que en su tabla de verdad tengan
valor 0, se obtiene la expresión de su forma normal conjuntiva (FNC) ”.
Producto de sumas que se implementan a través de compuertas OR (sumas) que confluyen en una compuerta
AND (realiza el producto de dichas sumas)
La FND y la FNC se denominan formas normales o canónicas de una función.
ARQUITECTURA DE COMPUTADORES
Actividad
ARQUITECTURA DE COMPUTADORES
Actividad
Resto de ejercicios
a realizar en TP4
Aula Virtual.
ARQUITECTURA DE COMPUTADORES
Álgebra de Boole
Parte 2
ARQUITECTURA DE COMPUTADORES
Aplicaciones
a) Calcular los miniterminos para la siguiente tabla
b) Realizar su simplificación con Algebra de Boole
c) Corroborar la tabla de verdad final con inicial
d) Hacer el circuito con compuerta lógicas
Actividad
ARQUITECTURA DE COMPUTADORES
a) Calcular los miniterminos para la siguiente tabla
b) Realizar su simplificación con Algebra de Boole
c) Corroborar la tabla de verdad final con inicial
d) Hacer el circuito con compuerta lógicas
Actividad
Ejemplo de Funciones Booleanas
El sistema de seguridad contra incendios de un depósito funciona en base a tres
sensores S0, S1 y S2. Cuando dos de estos sensores están activados (en “1”) se
enciende una alarma luminosa [AL]. Además, si S2 se activa, también se enciende la
alarma sonora [AS].
ARQUITECTURA DE COMPUTADORES
Ejemplo: Tabla de Verdad
s2 s1 s0 AL AS
0 0 0 0 0
0 0 1 0 0
s2 s1 s0
0 1 0 0 0
Sistema 0 1 1 1 0
Contra-Incendios
1 0 0 0 1
1 0 1 1 1
AL AS
1 1 0 1 1
1 1 1 1 1
ARQUITECTURA DE COMPUTADORES
Ejemplo: Formas Literales
ARQUITECTURA DE COMPUTADORES
Ejemplo: Circuitos
S 2 S1 S0
AL
ARQUITECTURA DE COMPUTADORES
Circuito semisumador
Circuito semisumador (SS) o Half Adder (HA)
Es un circuito cuya función es sumar 2 bits sin tener en cuenta el acarreo anterior. Tiene dos salidas, una
representa la suma y la otra, el valor del acarreo (carry).
_ _
S0 = a 0 b 0 + a 0 b 0
C0 = a 0 b 0
ARQUITECTURA DE COMPUTADORES
Circuito semisumador
Circuito semisumador (SS) o Half Adder (HA)
ARQUITECTURA DE COMPUTADORES
Circuito sumador completo
Circuito sumador completo (SC) o Full Adder (FA)
Este circuito tiene como finalidad sumar 2 bits (independientemente de la columna que quiera sumar
dentro de un número binario de n bits) y el acarreo anterior, generando como salidas el resultado de la
suma y el nuevo acarreo.
Genéricamente:
A= An-1 ……Ai……..A2 A1 A0
+
B= Bn-1…….Bi………B2 B1 B0
S= Sn-1……. Si……….S2 S1 S0
ARQUITECTURA DE COMPUTADORES
Circuito sumador completo
ARQUITECTURA DE COMPUTADORES
Circuito sumador completo
ARQUITECTURA DE COMPUTADORES
Circuito sumador-binario en paralelo
Ahora analizaremos cómo a partir de la expresión de una función booleana se puede
confeccionar el circuito que lleve a cabo la operación que describe. Supongamos que
queremos sumar dos números de 4 bits cada uno:
A 0 1 0 1
+ + SC
B 1 0 1 0
ARQUITECTURA DE COMPUTADORES
Concepto de UAL
La Unidad Aritmética y Lógica es el ORDEN OP
componente de la CPU que realiza UL
las operaciones lógicas (AND, OR, OPERANDO A
XOR, etc.) y aritméticas (en
principio suma y resta).
OPERANDO B
ORDEN OP
Podemos pensar entonces en una UA
estructura con dos operadores OPERANDO A
básicos, uno lógico –UL y uno
aritmético –UA, como muestra la OPERANDO B
figura adjunta
ARQUITECTURA DE COMPUTADORES
Sumador de 8 bits
a7 b7 a6 b6 a5 b5 a4 b4 a3 b3 a2 b2 a1 b1 a0 b0
c-1= 0
c6 c5 c4 c3 c2 c1 c0
C S7 S6 S5 S4 S3 S2 S1 S0
bits A bits B
bit C bits S
ARQUITECTURA DE COMPUTADORES
La Resta en la UAL
La resta se implementa utilizando el mismo dispositivo sumador, gracias a la propiedad de la notación posicional
de cantidades denominada COMPLEMENTO.
Para un número N de “p” dígitos expresado en base “b” se definen:
ARQUITECTURA DE COMPUTADORES
Sumador – Restador en Complemento Auténtico
S/R b b' a b S/R
0 0 0
0 1 1
1 0 1
1 1 0 b'
sc c-1
Si S/R es cero (0) el bit “b” se transfiere
sin cambios; si es uno (1), el bit
transferido es el complemento directo del C
recibido S
ARQUITECTURA DE COMPUTADORES
Sumador-Restador de n bits
S/R = 0 Suma
S/R = 1 Resta
an-1 bn-1 ai bi a1 b1 a0 b0 S/R
S/R
ARQUITECTURA DE COMPUTADORES