Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca   Arquitectura  de  Ordenadores  Tutor: Antonio Rivero Cuesta   Unidad  Didáctica 1    Representación de  la I...
2 downloads 0 Views 2MB Size
Centro Asociado Palma de Mallorca

 

Arquitectura  de  Ordenadores  Tutor: Antonio Rivero Cuesta

  Unidad  Didáctica 1 

  Representación de  la Inf ormación y  Funciones Lógicas 

   

Tema  3 

Algebra Booleana  y  Puertas Lógicas 

Definición De  Álgebra De Boole 

Para la construcción de un álgebra de Boole, se parte de una estructura algebraica (B, +, ·), formada por un conjunto de elementos B y dos operaciones definidas en el mismo, denominadas + y · (suma y producto). Se dice que es un álgebra de Boole si cumple los siguientes axiomas, también conocidos como postulados de Huntington.

Postulados de Huntington Postulado I. El conjunto B es cerrado con respecto a las dos operaciones. Es decir, se cumple que œ a, b

B:

a+b

B

a·b

B

Postulado II. Existe un elemento identidad en las dos operaciones. En la operación + el elemento identidad es el 0 y en la operación · es el 1, cumpliéndose que œ a B: a+0=a a·1=a

Postulado III. Las dos operaciones cumplen la propiedad conmutativa. Es decir, se cumple que œ a, b

B:

a+b=b+a a·b=b·a

Postulado IV. Cada operación es distributiva con respecto a la otra. Es decir, se cumple que œ a, b, c

B:

a · (b + c) =(a · b) + (a · c) a + (b · c) =(a + b) · (a + c)

Postulado V. Existe un elemento complementario. Se cumple que œ a B existe otro elemento de B llamado complementario de a que se representa por a , siendo:

a  a 1 aa  0

Postulado VI. Número de elementos. En el conjunto B existen al menos dos elementos diferentes, cumpliéndose que œ a, b B: a≠b

Se debe tener en cuenta la generalidad de este postulado, que sólo establece el número mínimo de elementos de B, no precisando ni su número total, ni el tipo de estos.

Teoremas del  Álgebra de Boole 

De los postulados anteriores se deducen un conjunto de propiedades del álgebra de Boole que se indican a continuación en forma de leyes y teoremas.

Principio de Dualidad Es consecuencia de la simetría de los postulados con respecto a: 

Las dos operaciones + y ·



A los dos elementos de identidad 0 y 1.

Idempotencia Identidad Involución Absorción Asociativas Leyes de De Morgan

a+a=a a·a=a a+1=1 a·0=0 a a a+a·b=a a · (a + b) = a a + (b + c) = (a + b) + c a · (b · c) = (a · b) · c ( a  b)  a  b

( a  b)  a  b

  Álgebra de Boole  Bivalente 

Está definida sobre un conjunto con: 

Dos elementos B = {0, 1}.



Operaciones suma lógica + y producto lógico ·.

TABLA 4.1 Definición de las operaciones Suma lógica + y Producto lógico ·

TABLA 4.1 Complemento Lógico

Variables y Funciones Lógicas  Se define una variable como un símbolo, por ejemplo a, que representa a cualquiera de los elementos de un conjunto B sobre el que se ha definido un álgebra de Boole. Así, en el álgebra de conmutación la variable a puede tomar los valores 0 y 1, de ahí que se le designe como variable binaria.

Se define una función booleana como una n correspondencia entre B y B, de tal forma que a cada n-upla de Bn se le hace corresponder con un elemento de B. Matemáticamente se expresa como:

Expresiones de funciones lógicas son las siguientes:

El valor de una función se determina sustituyendo las variables por sus valores en la expresión algebraica y aplicando las reglas definidas para las operaciones + y ·. La función f3 es la siguiente: f 3  f 3  c, b, a   ba  cba  ba  a

Tablas de Verdad  Otra forma de representar una función lógica es mediante una tabla, llamada tabla de verdad. Indica el valor que toma la función para cada una de las combinaciones de los valores de las variables de entrada.

Función f3, mediante su tabla de verdad. f 3  f 3  c, b, a   ba  cba  ba  a

Funciones Equivalentes  Una misma función lógica puede ser representada por expresiones algebraicas diferentes. Cuando una función es igual a otra, se dice que son equivalentes.

Representación Canónica  Se define como término canónico de una función lógica a todo producto o suma en el que aparecen todas las variables en su forma directa a o complementada a . Por ejemplo, en una función de tres variables, son términos canónicos: 

cba



c ba

A los términos producto se les llama productos canónicos o minitérminos (minterms). Esta denominación se debe al hecho de que, este término, toma el valor 1 para una sola combinación de las variables de entrada, de ahí el prefijo mini. A los términos suma se les llama sumas canónicas o maxitérminos (Maxterms). Denominándose así por el hecho de que, este término, toma el valor 1 tantas veces como lo hagan los sumandos que lo forman, de ahí el prefijo maxi.

TABLA 4.6 Tabla de minterms y maxterms para una función de tres variables

Obtención de Función Canónica  La expresión canónica de la función a partir de su tabla de verdad se obtiene sumando los minterms en los que la función vale uno. En la expresión canónica habrá tantos minterms como unos tenga la tabla de verdad de la función.

Obtener la función canónica a partir de la tabla de verdad siguiente:

La expresión canónica tiene tantos minterms como unos tenga la columna del valor de la función en la tabla de verdad. f  f  c, b, a   m1  m3  m4  m6  m7  cba  cba  cba  cba  cba f  f  c, b, a    1,3, 4, 6, 7  3

Teorema de Shannon  Cualquier función de n variables puede expresarse, mediante un desarrollo único, como producto de maxterms. La expresión canónica de la función a partir de su tabla de verdad se obtiene multiplicando los maxterms en los que la función vale cero. Habrá tantos maxterms como ceros tenga la tabla de verdad de la función.

Obtener la función canónica a partir de la tabla de verdad siguiente:

La función canónica se obtiene multiplicando los maxterms en los que la función vale cero. f  f  c , b, a   M 2  M 5  M 7  ( c  b  a )  ( c  b  a )  ( c  b  a )

f  f  c, b, a     2,5, 7  3

Conversión minterms y maxterms 

Conversión de expresiones  normalizadas a canónicas  Las expresiones normalizadas son aquellas en las que no todos sus términos son canónicos y están únicamente formadas por suma de productos o por producto de sumas.

Para convertir una expresión normalizada a canónica: 

En el caso de suma de productos, se multiplica cada término producto no canónico por la variable que falta más ella misma negada.



En el caso de producto de sumas, se suma en cada factor no canónico la variable que falta por ella misma negada.

En ambos casos, el proceso se repite por cada variable que falte en cada término.

Ejemplo de conversión. f  f  c, b, a   cb  cba  b  cb  a  a   cba  b  c  c  a  a 

Conjunto funciones dos  variables  n

Con n = 2 variables se pueden formar (2 = 4) cuatro términos canónicos. Dado que una tabla de verdad de dos variables representa el valor (0 ó 1) de la función en cada uno de los cuatro términos canónicos, las combinaciones diferentes de valores que puede tomar la función, 4 definen (2 = 16) dieciséis tablas de verdad o funciones lógicas distintas.

Función Incompletamente  Definida  Una función lógica está completamente definida si para cada una de las posibles combinaciones de sus variables, existe, y es único, el valor de la función. Por el contrario, se define una función incompletamente definida o función incompleta como aquella que puede tomar indistintamente el valor 0 ó 1 para una o más combinaciones de sus variables de entrada, también llamadas términos indiferentes o indiferencias.

f  f  c, b, a    1, 2, 4, 7   X  0,5  3

f  f  c, b, a    1, 4   X  2, 7  3

  Funciones Lógicas  Básicas 

La realización práctica de funciones lógicas se realiza mediante dispositivos electrónicos denominados puertas lógicas (o digitales), siendo éstas los componentes básicos de la electrónica digital. Las puertas lógicas proporcionan, generalmente en su salida, unos niveles de tensión en función de las tensiones presentes en sus entradas. Estos niveles son diferentes según la tecnología constructiva, variando de unos dispositivos a otros. El conocimiento preciso de estos valores de tensión no es significativo en las operaciones lógicas, sino los

rangos de tensiones entre los que operan las entradas y salidas de una puerta lógica, llamados niveles lógicos. Existe un rango de tensiones alto (High), denominado nivel lógico alto VH y un rango de tensiones bajo (Low), denominado nivel lógico bajo VL. El criterio de asignación de los estados cero lógico 0 y uno lógico 1 es totalmente arbitrario.

Si se asigna el valor 1 a las tensiones más altas VH y el valor 0 a las más bajas VL, el convenio utilizado se denomina lógica positiva. Si por el contrario se asigna el valor 1 a las tensiones más bajas VL y el valor 0 a las más altas VH, el convenio utilizado se denomina lógica negativa.

Teoría de Conjuntos  Se llama conjunto a una reunión de elementos que se caracterizan todos ellos por poseer una propiedad común. Se llama conjunto universal U al que comprende la totalidad de los elementos considerados. Un conjunto A es una parte o subconjunto del U si y sólo si todo elemento de A pertenece a U. La representación gráfica de un conjunto se corresponde con los puntos contenidos en su interior.

La representación eléctrica del conjunto universal es un interruptor siempre cerrado.

La representación eléctrica del conjunto vacío es un interruptor siempre abierto.

Función AND  La función AND efectúa la operación de producto o intersección de conjuntos. La salida de una puerta AND vale 1 sólo si todas y cada una de las variables de entrada son simultáneamente 1.

El área rayada representa el producto o intersección.

Desde el punto de vista del conexionado eléctrico, se representa la función AND o producto de conjuntos, colocando interruptores en serie que simbolizan los factores o elementos físicos considerados como variables de entrada.

El cronograma de la puerta AND de dos entradas, que muestra la relación existente, a lo largo del tiempo, entre sus entradas y su salida, se representa:

La expresión algebraica de una puerta AND, considerando a, b, c,… a las variables de entrada y S a la salida, es: S  f ..., c, b, a   ...cba

Dibujar el cronograma del comportamiento de una puerta lógica AND de tres entradas.

Función OR  La función OR efectúa la operación de suma o unión de conjuntos. La salida de una puerta OR vale 0 sólo si todas y cada una de las variables de entrada son simultáneamente 0.

El área rayada representa la suma o unión.

Desde el punto de vista del conexionado eléctrico, se representa la función OR o suma de conjuntos, colocando interruptores en paralelo que simbolizan los sumandos o elementos físicos considerados como variables de entrada.

El cronograma de la puerta OR de dos entradas, que muestra la relación existente, a lo largo del tiempo, entre sus entradas y su salida, se representa:

La expresión algebraica de una puerta AND, considerando a, b, c,… a las variables de entrada y S a la salida, es: S  f ..., c, b, a   ...  c  b  a

Dibujar el cronograma del comportamiento de una puerta lógica OR de tres entradas.

Función NOT  La función NOT efectúa la operación de inversión o complemento de conjuntos. Una puerta lógica inversora sólo tiene una entrada. La salida es el complemento de la entrada, es decir, si la entrada vale 0 la salida vale 1 y si la entrada vale 1 la salida vale 0.

El área rayada representa el complemento.

Desde el punto de vista del conexionado eléctrico, se representa la función NOT o conjunto inverso mediante un interruptor normalmente cerrado.

El cronograma de la puerta NOT, que muestra la relación existente, a lo largo del tiempo, entre su entrada y su salida, se representa:

La expresión algebraica de una puerta NOT, considerando a a la variable de entrada y S a la salida, es:

S  f a  a

Diseñar un circuito que realice el complemento a uno de un número binario de ocho bits.

Función NAND  La puerta NAND es el complemento de la puerta AND. La salida de una puerta NAND vale 0 sólo si todas y cada una de las variables de entrada son simultáneamente 1.

El área rayada representa una NAND.

Desde el punto de vista del conexionado eléctrico, se representan el complemento del producto de conjuntos, colocando los interruptores en serie y agregando un elemento que complemente el resultado.

Otra representación eléctrica de la función NAND.

El cronograma de la puerta NAND de dos entradas, que muestra la relación existente, a lo largo del tiempo, entre sus entradas y su salida, se representa:

La expresión algebraica de una puerta NAND, considerando a a,b,c,…a las variables de entrada y S a la salida, es:

S  f ..., c, b, a   ...cba

Función NOR  La puerta NOR es el complemento de la puerta OR. La salida de una puerta NOR vale 1 sólo si todas y cada una de las variables de entrada son simultáneamente 0. La operación NOR produce el resultado inverso o complementado de la unión de varios conjuntos.

El área rayada representa una NOR.

Desde el punto de vista del conexionado eléctrico, se representan el complemento de la suma de conjuntos, colocando los interruptores en paralelo y agregando un elemento que complemente el resultado.

Otro circuito, resultado de aplicar el teorema de De Morgan a la función NOR:

f  ...  b  a  ...  b  a

La expresión algebraica de una puerta NOR, considerando a, b, c,… a las variables de entrada y S a la salida, es:

S  f ..., c, b, a   ...  b  a  ...  b  a

Diseñar un sistema que indique cuando un automóvil circula con las puertas mal cerradas. El sistema de detección del estado de las puertas p de un automóvil entrega un nivel bajo si se encuentra alguna puerta mal cerrada. Una señal m presenta el nivel bajo si el automóvil supera la velocidad de 10 Km/h.

Función SEGUIDOR  Una función lógica seguidor o puerta BUFFER sólo tiene una entrada. La salida es igual a la entrada, es decir, si la entrada vale 0 la salida vale 0 y si la entrada vale 1 la salida es 1. Aunque la función seguidor no realiza ninguna operación lógica sobre la entrada, se justifica su utilización en aquellas aplicaciones en las que se requiere aumentar la corriente para excitar a dispositivos que así lo requieran.

La función seguidor representa en sí al conjunto a, estando formada por los elementos del conjunto.

Desde el punto de vista del conexionado eléctrico, se representa la función seguidor mediante un interruptor normalmente abierto.

El cronograma de la puerta BUFFER, que muestra la relación existente, a lo largo del tiempo, entre su entrada y su salida.

La expresión algebraica de una puerta BUFFER, considerando a como la variable de entrada y S como salida, es:

S  f a  a

Función XOR  La salida de una puerta XOR vale 1 cuando el número de entradas con valor igual a 1 sea impar y su salida vale 0 cuando el número de entradas con valor igual a 1 sea par. Para el caso particular de puertas XOR de dos entradas, su salida vale 1 cuando una de sus entradas vale 1 y la otra vale 0. La función XOR de dos conjuntos efectúa la operación b ó a pero no ambas.

S  ab  ab

Desde el punto de vista del conexionado eléctrico, la representación de S  ab  ab es:

El símbolo de la puerta XOR.

El cronograma de la puerta XOR de dos entradas, que muestra la relación existente, a lo largo del tiempo, entre sus entradas y su salida, se representa:

La expresión algebraica de una puerta XOR, considerando a, b, c,… a las variables de entrada y S a la salida, es:

S  f ..., c, b, a   ...c  b  a

  Simplificación de  Funciones Lógicas 

El objetivo de la simplificación de un circuito lógico consiste en minimizar su expresión para conseguir su implementación utilizando un número mínimo de puertas lógicas conectadas adecuadamente. Cabe destacar, en función de la complejidad o número de variables de la función a simplificar, los siguientes métodos de minimización de una función: 

Método algebraico.



Método de Karnaugh.

Método Algebraico  Este método consiste en buscar dos términos canónicos adyacentes de n variables, es decir, aquellos que sólo se diferencien en el estado de una de sus variables.

Simplificar algebraicamente la función: f  c, b, a    1, 2,3, 4,5, 6  3

f  c, b, a   ca  cb  cb  ca

Método de Karnaugh  El mapa de Karnaugh está formado por una matriz de cuadros, en los que cada uno de ellos representa a un término canónico. Su disposición es tal, que los cuadros contiguos entre sí, horizontal y verticalmente representan a términos canónicos adyacentes o lo que es lo mismo forman una adyacencia de primer orden pudiéndose simplificar una variable.

Sea una función de dos variables representada en minterms: f  b, a     0,1,3  ba  ba  ba 2

Mapa de Karnaugh de dos variables en minterms

f  b, a     0,1,3  ba  ba  ba 2

Mapa de Karnaugh de dos variables en maxterms

f  b, a    M 1  b  a 2

Karnaugh de Dos Variables  a

a 0

b

1

0

b

1

0

m0 m1

0

M3 M2

1

m2 m3

1

M1 M0

Minterm

Maxterm

Karnaugh de Tres Variables  ba c

ba 00 01 11 10

c

00 01 11 10

0

m0 m1 m3 m2

0

M7 M6 M4 M5

1

m4 m5 m7 m6

1

M3 M2 M0 M1

Minterm

Maxterm

Karnaugh de Cuatro Variables  ba

ba 00 01 11 10

dc

00 01 11 10

dc

00

m0 m1 m3 m2

00 M15 M14 M12 M13

01

m4 m5 m7 m6

01 M11 M10

11

m12 m13 m15 m14

11

M3 M2 M0 M1

10

m8 m9 m11 m10

10

M7 M6 M4 M5

Minterm

Maxterm

M8 M9

Simplificar mediante el método de Karnaugh para obtener el circuito lógico más eficiente que cumpla la función:

f  c, b, a    1, 2,3, 4,5  3

f  c, b, a    M  0,1, 7  3

f  c, b, a    1, 2,3, 4,5  3

ba c

f  c, b, a    M  0,1, 7 

ba c

00 01 11 10

1

0 1

1

3

1

1

00 01 11 10 0

1

1

Minterm

0 0 Maxterm

f  c, b, a   cb  ba  cb



f  c, b, a    c  b  a   c  b



0

Simplificar mediante Karnaugh, la siguiente función: f  d , c, b, a     0,1, 2,5, 7,8,9,10,13,15  ba

4

00 01 11 10

dc 00

1

1

1

01

1

1

11

1

1

10

1

1

f  d , c, b, a   ba  ca  ca

1

f  d , c, b, a    M 1,3, 4,9,11,12  4

ba 00 01 11 10

dc

0

00 01

0

0

11

0

0

10





f  d , c , b, a   c  a  c  b  a

0



Simplificación de Funciones  Incompletas  El procedimiento de simplificación sigue siendo el mismo, salvo la siguiente consideración: En el método de Karnaugh se incluyen tanto los términos canónicos minterms (maxterms) como los términos indiferentes. Representándose estos últimos mediante X.

Se forman el mínimo número de grupos, estando éstos compuestos por el mayor número de unos (ceros) que sea potencia de dos. La diferencia consiste en incluir los términos indiferentes para aumentar la simplificación.

Simplificar por el método de Karnaugh: f  d , c, b, a     3,5, 6, 7,9   X 10,11,12,13,14,15  4

ba 00 01 11 10

dc

1

00 01

1

1

1

11

X X X X

10

1 X X

f  d , c, b, a   ba  ca  da  cb