Está en la página 1de 60

Álgebra de Boole

ARQUITECTURA DE COMPUTADORES
Temas
Operadores Fundamentales

Algebra de Boole

Funciones Booleanas

Compuertas lógicas

Circuito sumador

Minimización de circuitos

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.

ARQUITECTURA DE COMPUTADORES
Operadores Fundamentales
El algebra de Boole utiliza variables y operaciones.
Las variables pueden tomar el valor 1, es decir Verdadero y 0, es decir falso.
El algebra de Boole reconoce dos operadores fundamentales:
◦ SUMA LOGICA (+; OR)
◦ PRODUCTO LOGICO (; AND)
◦ COMPLEMENTO O NOT (-)

Algunos autores también consideran al COMPLEMENTO (NO) entre las


operaciones fundamentales.
Estos operadores y cualquier función booleana quedan definidos mediante
sus Tablas de Verdad.

ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Leyes conmutativas Leyes Distributivas Leyes de Identidad
Ambas operaciones Cada operación binaria (suma Dentro del Álgebra existen
binarias (suma y producto) y producto) es distributiva dos elementos neutros, el 0 y
son conmutativas, esto es respecto de la otra: el 1, que cumplen la
que si a y b son elementos propiedad de identidad con
del Álgebra se verifica que: a· (b + c) = (a· b) + (a · c) respecto a cada una de las
a + (b · c) = (a + b) · (a + c) operaciones binarias:
a+b=b+a
a+0=a
a· b = b · a
a·1=a

ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Leyes De Complementación Teoremas del Álgebra de Boole
Para cada elemento a del Sobre la base de los postulados anteriores, se deduce una
Álgebra, existe un elemento
denominado a negada, tal serie de teoremas. La demostración de cada teorema se
que: puede realizar en forma algebraica o mediante la tabla de
a + –a = 1 a y –a no verdad.
pueden ser cero al mismo Teorema 1
tiempo,
a · –a = 0 a y –a no De las expresiones anteriores se deduce el “principio de
pueden ser uno al mismo dualidad”, que determina que estas expresiones permanecen
tiempo. Estas dos leyes válidas si se intercambian las operaciones + por · y los
definen el complemento de elementos 0 por 1.
una variable.

ARQUITECTURA DE COMPUTADORES
Propiedades del Álgebra de Boole
Teorema 2 – Anulación de la variable
Para cada elemento del Álgebra de Boole se Teorema 3 - Ley de ídem potencia
verifica que: Para cada elemento a de un
a+1=1 Álgebra de Boole se verifica que:
a·0=0 a+a=a
Según este teorema y las “leyes de identidad” a·a=a
citadas anteriormente, se deduce que:
0+0=0 0·1=0
0·0=0 1+1=1
0+1=1 1·1=1
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, En el Álgebra de Boole la suma y
se verifica que: el 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
Teorema 6 – Propiedad de la doble negación Teorema 7 - Leyes de DeMorgan
Ley de involución En todo Álgebra de Boole se verifican las
siguientes igualdades permiten
transformar sumas en productos y
Para todo elemento a de un Álgebra de Boole, se productos en sumas:
verifica que:

Comprobación:

ARQUITECTURA DE COMPUTADORES
Simplificar utilizando las propiedades del Algebra de
Boole
Z= A . B. C + A . B . C + A . B . C + A . B . C

Actividad

ARQUITECTURA DE COMPUTADORES
Simplificar utilizando las propiedades del Algebra de
Boole
Z= A . B. C + A . B . C + A . B . C + A . B . C

Actividad Z= A . B. C + A . (B . C + B . C + B . C) Distributiva

Z= A . B. C + A . (B. (C + C) + B . C) Distributiva

Z= A . B. C + A . (B. 1 + B . C) Elemento inverso

Z= A . B . C + A . B + A . B . C Identidad y Distributiva

Elemento inverso
Z= (B . C) . (A+ A ) + A . B
Z= B . C + A . B

ARQUITECTURA DE COMPUTADORES
Compuertas lógicas
Proposiciones Conjuntos Boole

V Conjunción
U Producto lógico ( . ) AND

V Disyunción U Suma lógica ( + ) OR

ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas
Los dispositivos físicos que implementan una función booleana
simple, es decir un operador booleano, se denominan
compuertas lógicas o simplemente compuertas.
En lenguaje técnico también se las denomina «gates»

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 Suma Lógica
La función lógica OR es Falsa
sólo cuando todas las variables A
de entrada están en “0”
F=A+ B
B
A B F
0 0 0
0 1 1
Se lee A “o” B (OR)
1 0 1
1 1 1

ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: AND
Realiza el Producto Lógico
La función lógica AND es
A
verdadera sólo cuando todas las F=A B
variables de entrada están en “1”
B
A B F
0 0 0
0 1 0
1 0 0
1 1 1 Se lee A “y” B (AND)

ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: NOT
Realiza la Complementación
Este operador “invierte” el F= A
valor lógico de la entrada.
A

A F
0 1
1 0
El círculo indica
“negación”

Se lee “no A” (NOT)

ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: OR-EX / XOR
Esta función lógica especial, OR-Exclusiva
es verdadera sólo cuando es IMPAR la
cantidad de variables de entrada que
están en “1” A
F=A + B

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
Verdadera sólo cuando todas
las variables de entrada A
están en “0” F= A+ B

B
A B F
0 0 1
Se lee A o B “negado” (NOR)
0 1 0
1 0 0
1 1 0

ARQUITECTURA DE COMPUTADORES
Compuertas Negadas: NAND
La función lógica NAND es Falsa
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 Se lee A y B “negado”(NAND)
1 1 0

ARQUITECTURA DE COMPUTADORES
Compuertas Lógicas: XNOR
Esta función lógica especial, OR-Exclusiva
es verdadera sólo cuando es IMPAR 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 Se lee A “XNOR” B
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.

◦ La Tabla de Verdad es una de las formas de expresar una función booleana.


◦ También se usan expresiones literales (polinómica y factorial) y expresiones
simbólicas.
◦ La forma canónica de un función booleana es una expresión cuyos términos
contienen la totalidad de las variables del problema.

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
Compuertas Booleanas

ARQUITECTURA DE COMPUTADORES
Actividad

ARQUITECTURA DE COMPUTADORES
Actividad

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
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 8 dígitos cada uno:

Sumador binario paralelo con acarreo serie

ARQUITECTURA DE COMPUTADORES
Circuito sumador-binario en paralelo
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).

ARQUITECTURA DE COMPUTADORES
Circuito sumador-binario en paralelo
Circuito sumador completo (SC) o Full Adder (FA)
Este circuito tiene como finalidad sumar 2 bits y el acarreo anterior, generando como
salidas el resultado de la suma y el nuevo acarreo.
Genéricamente:

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
Se llama término canónico de una función lógica a “todo producto o toda suma en los que
aparecen todas las variables que componen una función, en su forma directa o inversa”. O sea
que hay productos canónicos y sumas canónicas.
Un minitérmino o producto canónico es: “el producto de las variables en juego, o sus
negaciones individuales que hacen que el producto valga 1 (uno)”, o, expresado de otro modo,
“es la representación de una de las combinaciones de la tabla de verdad por medio del
producto lógico”.

ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
“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) ”.
Un maxitérmino o suma canónica es: “la suma de las variables en juego, o sus negaciones
individuales que hacen que la suma valga 0 (cero)”, o, expresado de otro modo, “es la
representación de una de las combinaciones de la tabla de verdad por medio de la suma
lógica, pero teniendo en cuenta que los 0 en la combinación se expresan con la variable
correspondiente sin negar y los 1, con la variable correspondiente negada”.

ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
Forma normal conjuntiva
El circuito sumador-completo, podemos deducir las funciones de suma y acarreo
correspondientes, ya sea por intermedio de la forma normal disyuntiva (FND) o por la forma
normal conjuntiva (FNC). Elegiremos siempre la que más nos convenga, teniendo en cuenta la
menor cantidad de términos que se han de representar, para favorecer, así, la implementación
del circuito.

ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
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 f orma normal conjuntiva (FNC) ”. La
FND y la FNC se denominan formas normales o canónicas de una función.
Ejemplos:
Sea un circuito semisumador, a partir de su tabla de verdad podremos obtener en primer
lugar los minitérminos y los maxitérminos de la función y luego expresar la FND y la FNC de
ésta.
Anteriormente dedujimos que:

ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
FNC: Forma normal conjuntiva-
Forma normal conjuntiva “Se expresa una función como el producto
lógico de aquellos maxitérminos que en su
En la tabla se observan las formas canónicas de las funciones. tabla de verdad tengan valor 0”
FND: 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”

ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
Forma normal conjuntiva

ARQUITECTURA DE COMPUTADORES
Formas normales o canónicas de una función
Forma normal conjuntiva
Si graficamos el circuito con las
formas normales disyuntivas de S y
C, obtendremos el diagrama de
lógica del circuito sumador-completo
o full adder.

ARQUITECTURA DE COMPUTADORES
Circuitos equivalentes
Dos circuitos son equivalentes cuando son representados con distintas formas algebraicas
pero responden a la misma tabla de verdad.
Ejemplos:

ARQUITECTURA DE COMPUTADORES
Minimización de circuitos
La minimización de circuitos se realiza para que el diseño de un circuito sea lo más simple
posible, que cumpla la misma función con la menor cantidad de compuertas posibles, la
menor cantidad de entradas a ellas y en dos niveles. Para eso se debe minimizar la función.
Uno de los métodos más utilizados para la representación de funciones y su posterior
reducción es la minimización por medio de un mapa de “Veitch-Karnaugh”.

ARQUITECTURA DE COMPUTADORES
Aplicaciones
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
Expresión Literal Completa –Suma de Productos
AL = S2.S1.S0 + S2.S1.S0 + S2.S1.S0 + S2.S1.S0
AS = S2.S1.S0 + S2.S1.S0 + S2.S1.S0 + S2.S1.S0

Expresión Literal en Minitérminos


AL = m3 + m5 + m6 + m7 Dado que todos los términos de
esta forma POLINÓMICA contienen
AS = m4 + m5 + m6 + m7 todas las variables, esta expresión
se denomina CANÓNICA

ARQUITECTURA DE COMPUTADORES
Ejemplo: Minitérminos

# s2 s1 s0 Leído como
m0 0 0 0 S2S1S0
m1 0 0 1 S2S1S0
m2 0 1 0 S2S1S0
m3 0 1 1 S2S1S0
m4 1 0 0 S2S1S0
m5 1 0 1 S2S1S0
m6 1 1 0 S2S1S0
m7 1 1 1 S2S1S0
ARQUITECTURA DE COMPUTADORES
Ejemplo: Circuitos

S2 S1 S0

AL

ARQUITECTURA DE COMPUTADORES
Ejemplo: Circuitos
S2 S1 S0

AS

ARQUITECTURA DE COMPUTADORES
Ejemplo: Circuitos Minimización
AL = S2.S1.S0 + S2.S1.S0 + S2.S1.S0 + S2.S1.S0
AL = (S2 + S2).S1.S0 + (S1 + S1).S2.S0 + (S0 + S0).S2.S1

S2 S1 S0
AL = S1.S0 + S2.S0 + S2.S1

AL

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

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
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

Como se observa en esta figura, los operadores reciben los


operandos (datos) y una orden de operación (para indicar
QUE operación deben hacer).

ARQUITECTURA DE COMPUTADORES
Sumador Elemental: Semisumador
El sumador elemental será capaz de sumar un par a b S C
de bits “a” y “b”.
suma acarreo
La Tabla de Verdad se deriva a partir de la Tabla
de Suma Aritmética. 0 0 0 0
a 0 1 1 0
0 1
0 0 1 1 0 1 0
b 0 0
1 1 0 1 1 0 1
0 1
S= a + b
C=ab

ARQUITECTURA DE COMPUTADORES
Sumador Elemental: Semisumador
Para sumar dos cantidades de n bits es a
S
necesario disponer de n bloques
funcionales como el obtenido. b
Si bien permiten sumar bit a bit, al no ss
tener en cuenta el acarreo no
implementan correctamente la suma. Por C
este motivo este bloque se denomina
semisumador o half adder.

a S
b ss C

ARQUITECTURA DE COMPUTADORES
Sumador Elemental: Sumador Completo
Para realizar la suma de dos cadenas de bits es
necesario tener en cuenta el acarreo que cada a b c-1 S C
“etapa” le pasa a la siguiente. La Tabla de Verdad
adjunta tiene en cuenta esta situación. 0 0 0 0 0
Ahora las funciones son 0 0 1 1 0
0 1 0 1 0
S = a + b + c-1 0 1 1 0 1
C = (a  b) + ( a + b)  c-1 1 0 0 1 0
1 0 1 0 1
El bloque funcional que las implementa se
denomina sumador completo o full adder. 1 1 0 0 1
1 1 1 1 1

ARQUITECTURA DE COMPUTADORES
Sumador Elemental: Sumador Completo
a + b
a sc
b ss
Este bloque se denomina sumador completo S
c-1 ss
o full adder.
Permite sumar bit a bit, y dado que tiene en
cuenta el acarreo posibilita la implementación C
correcta de una suma de n bits.
◦ Justificar la implementación propuesta para el ab
sumador completo.

a S
b sc
C
c-1

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

SC7 SC6 SC5 SC4 SC3 SC2 SC1 SC0

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:

◦ COMPLEMENTO DIRECTO ( a la base menos uno)


CD(N) = (bp –1) - N

◦ COMPLEMENTO AUTENTICO ( a la base)


CA(N) = (bp ) - N
Y de allí
CA(N) = CD(N) + 1
Según se ha visto, la resta puede obtenerse “sumando” al minuendo el complemento auténtico del sustraendo.
En binario el complemento directo se obtiene invirtiendo todos los bits del registro. Por lo tanto, es sencillo
deducir el esquema del sumador-restador elemental que realice las operaciones (a + b) y (a - b), según se indique.

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

b' b' b' b'


sc cn-1 sc ci-1 c1 sc c0 sc c-1
 
ci
C S/Rn-1 S/Ri S/R1 S/R0
bits A bits B

S/R

bit C bits S/R


ARQUITECTURA DE COMPUTADORES
Gracias

ARQUITECTURA DE COMPUTADORES

También podría gustarte