Sunteți pe pagina 1din 31

Algebra Booleana

Presenta: Marcos Omar Cruz Ortega


Cruzsoft 17/12/2008

Tabla de Contenido
1 2 Introduccin al Algebra Booleana ............................................................................................... 3 lgebra Booleana ........................................................................................................................ 4 2.1 2.2 Postulados del lgebra booleana ........................................................................................ 4 Ejemplos de lgebras de Boole ........................................................................................... 5 LGEBRA DE CONJUNTOS ........................................................................................... 5 CIRCUITOS DE CONMUTACIN ................................................................................... 8 LGICA PROPOSICIONAL ............................................................................................. 9

2.2.1 2.2.2 2.2.3 2.3

Teoremas del algebra booleana ........................................................................................ 11 Ejemplos de simplificacin de expresiones booleanas ............................................. 16

2.3.1 2.4

Funciones booleanas ......................................................................................................... 16 FUNCIONES BOOLEANAS DE UNA Y DOS VARIABLES ............................................... 18 SMBOLOS DE PUERTAS LGICAS.............................................................................. 19 EQUIVALENCIA ENTRE PUERTAS LGICAS ................................................................ 22

2.4.1 2.4.2 2.4.3 3 4 5

Modelo de John von Neumann (principios de 1950's).............................................................. 24 Concepto De Programa Almacenado ........................................................................................ 29 Lenguaje De Maquina Instrucciones y Datos ............................................................................ 30 5.1 5.2 5.3 Lenguaje de Mquina .................................................................................................... 30 Lenguaje Ensamblador .................................................................................................. 31 Ciclo De Ejecucin De Instrucciones.................................................................................. 31

1 Introduccin al Algebra Booleana


Un algebra booleana es una estructura matemtica con dos operaciones binarias y una unitaria que tiene caractersticas similares al algebra de nmeros 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 matemtico 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.

lgebra Booleana

La herramienta fundamental para el anlisis y diseo de circuitos digitales es el lgebra Booleana.

Esta lgebra es un conjunto de reglas matemticas (similares en algunos aspectos al lgebra convencional), pero que tienen la virtud de corresponder al comportamiento de circuitos basados en dispositivos de conmutacin (interruptores, relevadores, transistores, etc). En este captulo se presentan los postulados que definen el lgebra booleana, se presentan en forma de teoremas los resultados ms importantes, se presentan tambin los tres ejemplos clsicos de lgebras boolenas (Lgica proposicional, lgebra de conjuntos, lgebra de switches) y herramientas bsicas como tablas de verdad y diagramas de Venn.

2.1 Postulados del lgebra booleana


El lgebra de Boole, fue presentada originalmente por el ingls George Boole, en el ao de 1854 en su artculo "An Investigation of the Laws of Thoght ... ", sin embargo, las primeras aplicaciones a circuitos de conmutacin fueron desarrolladas por Claude Shannon en su tesis doctoral "Anlisis simblico de los circuitos de conmutacin y rels" hasta 1938. A continuacin se presentan los postulados fundamentales del lgebra de Boole

Postulado 1. Definicin.

El lgebra booleana es un sistema algebraico definido en un conjunto B, el cual contiene dos o ms elementos y entre los cuales se definen dos operaciones denominadas "suma u operacin OR" ( + ) y "producto o multiplicacin u operacin AND" (), las cuales cumplen con las siguientes propiedades:

Postulado 2. Existencia de Neutros.

Existen en B el elemento neutro de la suma, denominado O y el neutro de la multiplicacin, 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) xy =yx Postulado 4. Asociatividad. Para cada x, y, z en B: (a) x + (y + z) = (x + y) + z (b) x(yz) = (xy) z Postulado 5. Distributividad. Para cada x, y, z en B: (a) x+(yz)=(x+y) (x+z) (b) x(y+z)=(xy)+(xz) Postulado 6. Existencia de Complementos. Para cada x en B existe un elemento nico denotado x (tambin 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 extraos, especialmente aquellos que son diferentes al lgebra con nmero reales (como el 5a, el 6a y el 6b), y puede ser difcil encontrar situaciones de inters 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 clsicos, 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 unin de conjuntos (U) y la multiplicacin es la interseccin () de conjuntos. 2. Existencia de neutros. El neutro de la unin es el conjunto vaco F , mientras que el neutro de la interseccin es el conjunto universo U, ya que para cualquier conjunto arbitrario A, A U F = A y A U = A. 3. Conmutatividad. La unin y la interseccin son conmutativas, ya que para cualquier par
de conjuntos A, B: A U B = B U A y A B = B A

4. Asociatividad. La unin y la interseccin 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 unin de conjuntos es distributiva sobre la interseccin, y viceversa, la interseccin es distributiva sobre la unin, 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 difciles de obtener, o recordar, especialmente la distributividad, por ello, es conveniente tener en cuenta una herramienta grfica 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

A continuacin se muestra el conjunto A y su complemento A .


c

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 unin sobre la interseccin

2.2.2

CIRCUITOS DE CONMUTACIN

1. Para este ejemplo de lgebra de Boole, el conjunto B es el conjunto de todos los switches o interruptores. La operacin suma de switches es la conexin en paralelo y la multiplicacin de switches es la conexin en serie, como se muestra en la siguiente figura. Los valores que pueden tomar los Switches son slo 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 colocacin 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 conexin de tres switches en serie. 5. Distributividad. La conexin serie es distributiva sobre la conexin en paralelo y la conexin paralelo es distributiva sobre la conexin en serie, en el sentido que se ilustra en la figura siguiente.

Observacin 1: Ntese que en la figura anterior se est suponiendo que el switch A se puede usar en dos lugares diferentes, esto es posible fsicamente simplemente construyendo dos switches acoplados mecnicamente de manera que cuando uno est abierto el otro tambin lo est y cuando uno est cerrado, el otro tambin se cierre. Observacin 2: Jerarqua de operaciones.- En adelante, se utilizar la notacin algebraica utilizada en la figura anterior, en la cual se supone que cuando en una misma expresin aparecen sumas y productos sin usar parntesis se realiza primero el producto y luego la suma. Cuando se quiere alterar este orden de jerarqua de operaciones se usan parntesis para indicar que la operacin que est entre parntesis se debe realizar primero. 6. Existencia de complementos. Se puede fabricar un switch A complemento de otro switch A simplemente acoplando mecnicamente ambos, para que cuando uno se abra el otro se cierre y viceversa. 2.2.3 LGICA PROPOSICIONAL

1. Para este ejemplo de lgebra de Boole el conjunto B es el conjunto de todos los enunciados gramaticales. La operacin suma (+) es la conjuncin gramatical o (OR), la multiplicacin es la conjuncin 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 interpretacin gramatical cotidiana), para ello se introduce el concepto de tabla de verdad, la cual es simplemente una tabulacin de los enunciados y todas las posibles combinaciones de sus correspondientes valores de verdad o falsedad.

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 multiplicacin 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 conjuncin y es distributiva sobre la conjuncin o y viceversa, esto es fcil de probar mediante tablas de verdad, como se muestra a continuacin:

10

Existencia de complementos. El complemento de un enunciado dado x es simplemente el enunciado negado gramaticalmente: no x y se denota x. Observacin: 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 continuacin se presenta un conjunto de resultados fundamentales; pero basados en los postulados del 1 al 6 presentados en la seccin 4.1 y que por lo tanto son vlidos 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 algn lgebra booleana en particular, (en diagramas de Venn, o bien, en circuitos conswitches o en tablas de verdad) con la nica condicin de que se respete al pie de la letra los 6 postulados fundamentales. En estas notas slo 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 expresin booleana es verdadera, su expresin dual tambin 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 expresin A + B = 1 es dual de la expresin 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 slo un inciso de los siguientes teoremas y automticamente el inciso dual quedar demostrado. 11

Teorema 1. Multiplicacin por cero a) A0 = 0 b) A+1 = 1 Demostracin del inciso (a) A0 = A0 + 0 = A0 + AA = A(0 + A) = A(A) =0 Explicacin: 0 es el neutro de la suma el producto de una variable por su complemento da 0 distributividad una variable ms el neutro no se altera una variable por su complemento da 0

Teorema 2. Absorcin a) A + AB = A b) A(A + B) = A Demostrando el inciso (a) A + AB = A1 + AB = A(1 + B) = A(1) =A Explicacin: 1 es el neutro del producto distributividad Teorema 1 es el neutro del producto

Este teorema se puede usar en diversos casos de simplificacin, basta con usar identificar en una suma, una expresin que se repite primero en forma aislada y luego multiplicando a otra expresin.

Ejemplos. La expresin XY + XYZ por absorcin es igual a XY La expresin A+ AB por absorcin es igual con A etc. Teorema 3. Cancelacin a) A + AB = A + B b) A(A + B) = A B Demostracin del inciso (a) Explicacin: 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

12

Este teorema se puede usar en la simplificacin de expresiones cuando encontramos una expresin sumada Con su complemento multiplicado por otra expresin (o el dual).

Ejemplos: La expresin A + ABC por cancelacin es igual a A + BC La expresin A + AB por cancelacin es igual a A + B La expresin XY + XY Z por cancelacin es igual a XY + Z Teorema 4. Cancelacin a) AB + AB = B b) (A+B)(A+B)=B Demostracin del inciso (a) Explicacin: 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 trminos que tienen un factor comn y el trmino que no es comn en una de ellas es el complemento del de la otra.

Ejemplos: La expresin ABC+ABC, por cancelacin es igual a BC La expresin XYZ+XY Z, por cancelacin es igual a Z Teorema 5. Idempotencia a) AA = A b\ A+A= A

La demostracin del inciso (b) de este teorema es inmediata del teorema de absorcin, ya que A + A = A+ A1.

Este teorema implica que cuando existen trminos semejantes en una expresin, basta con escribir uno de ellos, o bien, que un trmino puede "desdoblarse" tantas veces como se quiera. Obsrvese que tambin esto implica que An = A para cualquier nmero n entero positivo.

13

Ejemplos: La expresin (X+Y)(X+Y) por idempotencia es igual a X+Y La expresin XYZXYX por idempotencia es igual a XYZ La expresin 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) Demostracin del inciso (a) Explicacin: AB +AC + BC = AB +AC + BC(A +A) A+A es el neutro de la multiplicacin = AB +AC +ABC +ABC distributividad = (AB +ABC) + AC +ABC) conmutatividad y asociatividad = AB + AC absorcin

La clave para usar este teorema es encontrar dos trminos que contengan una expresin en uno afirmada y en otro negada, anotar los trminos con los que estn multiplicando uno y otro y buscar otro elemento que sea la multiplicacin de estos ltimos dos, ste ltimo elemento es el que se puede eliminar.

Ejemplos: La expresin AB + AC + BC por consenso es igual a AB + AC La expresin 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 Demostracin del inciso (a): Para demostrar este teorema hay que recordar las dos propiedades que cumple el complemento X de una expresin X, es decir: i) ii) X+ X = 1 (sumados nos da uno) 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:

14

i)

sumando: Explicacin: por conmutatividad por cancelacin propiedad del complemento por Teorema 1

AB + (A+ B) = AB + B + A =A+B+A =1+B =1 ii) multiplicando

Explicacin: 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 ms 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 ms de tres variables.

Otros teoremas: A continuacin se presentan dos teoremas ms sin demostracin, es un buen ejercicio el intentar dicha demostracin. Teorema 8. Involucin a) A=A Teorema 9. Complementos de los neutros a) 0 = 1 b) 1 = 0

15

2.3.1

Ejemplos de simplificacin de expresiones booleanas

Los 6 postulados fundamentales, junto con los teoremas anteriores conforman las herramientas bsicas de simplificacin y manipulacin de expresiones booleanas, a continuacin se ilustra su uso con algunos ejemplos.

Ejemplo. Simplificar las siguientes expresiones 1. A(BC + AC) + BC Distribuyendo el factor A en el parntesis: = ABC + AAC + BC, conmutando y aplicando idempotencia: = ABC + BC + AC, usando absorcin: = BC +AC 2. XYZ+XZ Usando el Teorema de De Morgan: = XYZ.XZ , por De Morgan nuevamente e involucin: = (XY+Z )( X+Z ), distribuyendo: =XYX +XYZ +XZ +Z Z , como X X es cero, y por idempotencia: = 0+ XYZ +XZ +Z , por absorcin: =Z 3. factor: = (XY + XY)(Y + Z + W), distribuyendo nuevamente = (XY + XYZ + XYW + XYZ + XYW, por absorcin: =(XY + XYZ + XYW). (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

2.4 Funciones booleanas


En forma similar a como se define en los cursos de lgebra de nmeros reales, es posible definir una relacin de dependencia de una variable booleana o variable lgica con otras variables booleanas independientes. Es decir, es posible definir funciones booleanas o funciones lgicas.

Definicin. Sean X1,X2,...,Xn, variables booleanas, es decir, variables que pueden tomar el valor de 0 o de 1, entonces la expresin Y = f(X1,X2,...,Xn)

16

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 combinacin de n valores (1s y 0s) que tomen las n variables X1,X2,...,Xn. Ejemplo: La siguiente es una funcin booleana Y= f(A,B,C) = AB + AC + AC Esta funcin 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 expresin booleana, ya que incluye todas sus posibilidades.

Ejemplo. La siguiente es la tabla de verdad para la funcin del ejemplo anterior

En general para una funcin 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 funcin 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.

17

2.4.1

FUNCIONES BOOLEANAS DE UNA Y DOS VARIABLES

En el caso de funciones de variable real sera imposible tratar de mencionar todas las posibles funciones de una o ms 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 nmero de variables. a continuacin 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 slo hay dos: f0 = 0 Funcin constante cero f1 = 1 Funcin constante uno Funciones de una variable. Adems de las funciones constantes ahora se pueden definir otras dos: f0(A) = 0 Funcin constante cero f1(A) = A Funcin identidad f2(A) = A Funcin complemento, negacin f3(A) = 1 Funcin constante uno Funciones de dos variables. En este caso se pueden definir 16 funciones diferentes, las cuales incluyen las cuatro anteriores y otras doce ms. En las siguiente tabla se muestra un resumen de las diecisis funciones de dos variables, incluyendo su nombre, su tabla de verdad, y su expresin lgica (booleana).

OBSERVACIN. Ciertamente, las expresiones lgicas que aparecen en la tabla anterior no son nicas, ya que una misma funcin lgica puede tener diferentes representaciones algebraicas.

18

Ejemplo: Es fcil ver que A B = AB + AB = (A + B)(A + B) o bien, tambin por ejemplo A B = A / B = AB + AB = (A + B)(A + B) ... etc.

A continuacin se presenta una alternativa grfica para trabajar en el anlisis y diseo de funciones booleanas a partir de bloques funcionales que se representan mediante smbolos lgicos.

2.4.2

SMBOLOS DE PUERTAS LGICAS

Una manera generalizada de representar las funciones lgicas es el uso de smbolos o bloques lgicos denominados puertas o compuertas lgicas. 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 smbolos es que por ser una representacin entrada / salida permiten la interconexin de puertas (la salida de una con la entrada de otra) para representar funciones ms 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 lgicas corresponde directamente a un diagrama de alambrado de circuito lgico.

19

A continuacin se presentan los smbolos para las funciones lgicas ms sencillas, especialmente para las presentadas en la seccin anterior. PUERTA AND

La salida de una compuerta AND es 1 solamente si todas sus entradas son simultneamente 1, de lo contrario es 0.

PUERTA OR

La salida de una compuerta OR es 1 solamente si todas sus entradas son simultneamente 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 lgico 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

20

NAND

Esta es una funcin lgica compuesta. Se puede visualizar como una compuerta AND seguida por una compuerta NOT y su salida es 0 slo cuando todas sus entradas son simultneamente 1.

PUERTA NOR

Esta Compuerta es una combinacin de las funciones de un operador OR seguido por un INVERSOR.

La salida de una puerta NOR slo ser 1 cuando ambas entradas valgan 0

PUERTA EXOR (OR EXCLUSIVO)

La operacin EXOR se denota por el smbolo , es decir, A EXOR B = A B. Adems, 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.

21

PUERTA NO-EXOR O EQUIVALENCIA (EQU)

La operacin EQU se denota por el smbolo ?, es decir, A EQU B = A ? B. Adems, 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 LGICAS

Usando lgebra de Boole es posible obtener una gran variedad de equivalencias entre smbolos de puertas lgicas y diagramas de alambrado de circuitos lgicos. a continuacin se muestran slo algunas equivalencias sencillas:

22

En forma similar, dado un circuito lgico, empleando lgebra de Boole es posible obtener la expresin lgica de la funcin que realiza, simplemente escribiendo a la salida de c ada puerta lgica la expresin correspondiente en trminos de las entradas.

Ejemplo

23

3 Modelo de John von Neumann (principios de 1950's)


A principios de la dcada de 1950, von Neumann estudi los mecanismos que debe tener una mquina para que pueda tener la capacidad de construir otra mquina igual a la mquina creadora; de manera que dise un autmata 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 ms destacados de reproducir y completar el trabajo de von Neumann se dio en el ao 2000 por un grupo de especialistas en diseo de hardware en el Laboratorio de Sistemas Lgicos del Instituto de Tecnologa Federal Suiza [3]. El constructor universal es uno de los conceptos que von Neumann defini y que es una parte fundamental en el diseo de esa mquina1.7 constructor universal, que es capaz de construir cualquier otra mquina constructor universal a partir de su descripcin. Este proceso requiere que la descripcin del constructor universal incluya su propia descripcin, idea que fue tomada de modelos celulares vivos que contienen informacin de cmo construir otras clulas del mismo tipo:

La descripcin muestra las caractersticas bsicas de la mquina, al estilo de un genoma, que es interpretado para construir una copia del constructor universal. La descripcin es literalmente copiada, una vez que ha sido detectada y leda.

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 clulas, son mquinas de estados finitos. Despus de haber estudiado el modelo con varias opciones, lleg a definir 29 estados y una regla de transicin [66].

24

Figura 1.3: Esquema de la mquina universal de John von Neumann [66] En la figura 1.3 se muestra el esquema de la mquina autoreproductora diseada por John von Neumann. El constructor universal est dividido en el control de la cinta (Tape control) y el control de construccin(Construction control); el control de la cinta obtiene la informacin de la mquina que se va a construir; y el control de construccin interpreta la descripcin obtenida y construye el nuevo autmata por medio de un brazo constructor (Constructing arm). Podemos mencionar algunas caractersticas que tiene este constructor universal:

Universalidad construccional, significa que es capaz de construir cualquier autmata, si cuenta con su descripcin. Autoreproduccin del constructor universal. Autoreproduccin de la mquina universal, ya que el constructor universal est definido con una mquina universal de Turing, y la cinta contiene la informacin completa.

25

Cada clula del autmata puede tener uno de 29 posibles estados. Esos estados no son catalogados de manera numrica como usualmente se propone en las mquinas 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 clula. Enseguida una descripcin de esos conjuntos de estados. Una clula en el estado recesivo no influye en otras clulas. Este estado se aplica a clulas que no se usan, ni en la descripcin de la mquina, ni en el proceso de construccin. Las clulas tienen 16 estados que permiten la transmisin de informacin entre clulas que no estn en estado recesivo. Cada uno de estos estados de transmisin tienen una de cuatro direcciones: norte, sur, este y oeste; hay una distincin entre estados activos o inactivos. Adems, se pueden distinguir estados de transmisin ordinarios y de propsito especial que propagan diferentes tipos de activacin. Los estados de transmisin ordinarios propagan activaciones ordinarias en su direccin de salida, por su parte, los estados de transmisin especial, tambin propagan activaciones especiales en su direccin de salida. Las propagaciones ordinarias introducen un retardo de un paso de tiempo en la propagacin de la activacin y actan como una compuerta OR. Un estado cambia a activo si recibe una seal de activacin 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 transmisin de una activacin y pueden dividir el flujo de transmisin, comportndose como un distribuidor.

Un estado confluente puede ser o cuando todas las clulas vecinas estn en estado de transmisin ordinaria dirigidas hacia ellas, si cualquiera est en estado activado.

26

Figura 1.4: Evolucin de los estados de transmisin y confluentes de la mquina de von Neumann [3]
En la figura 1.4 se pueden apreciar en 6 pasos de tiempo, las evoluciones del autmata celular de von Neumann en diferentes situaciones:

en la columna a se muestra cmo se propagan las seales de activacin en actividades ordinarias, en las columnas b y c se muestran las actividades de los estados confluentes, comportndose como compuertas AND (columna b) y OR (columna c).

Los 8 estados restantes se usan para construir los procesos, que tambin se llaman procesos dirigidos, que como excepcin, s pueden crear estados recesivos o cambiar de un estado recesivo a estados de transmisin no activados o a estados confluentes. Estos estados se llaman estados sensibles aunque cambian de estado en una unidad de tiempo. Una clula que se encuentre en estado recesivo estado sensible puede cambiar su estado al

si recibe una seal de activacin ordinaria o especial por alguno de si no recibe ninguna seal de

sus lados, luego puede cambiar al estado sensible activacin, o a en caso de que s reciba.

27

Figura 1.5: Proceso de construccin de la mquina de von Neumann [3]


La figura 1.5 muestra el ciclo constructivo en que pueden encontrarse las clulas en el autmata, mientras se encuentren en uno de esos 9 estados desactivados. Una clula que se encuentre en un estado sensible no ejerce influencia en sus vecinos. Finalmente se describe una manera de cambiar el estado de transmisin o confluente a un estado recesivo, y se puede hacer de dos maneras: enviando una activacin especial por uno de los 4 lados de un estado de transmisin ordinaria o de un estado confluente; y la otra manera es enviar una activacin ordinaria por uno de los cuatro lados de un estado de transmisin especial.

28

4 Concepto De Programa Almacenado


Segn von Neumann, la clave para construir una mquina de propsito general es poder almacenar no slo los datos y los resultados intermedios de una computacin, sino tambin las instrucciones que definen el procedimiento de computacin. En una mquina de propsito especifico, el procedimiento puede ser parte de la mquina. Sin embargo, en una mquina de propsito general, cambiar las instrucciones tiene que ser tan fcil como cambiar los datos sobre los que actan. La solucin es codificar las instrucciones de forma numrica 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 mquinas de propsito especfico que hay hoy en da, en el sentido que slo pueden resolver un tipo particular de problema. El aporte de von Neumann fue precisamente hacer ver la necesidad de separar el programa de la mquina misma, para as poder reconfigurar el computador segn fuese necesario. El concepto del programa almacenado, un concepto terico muy importante que fue establecido por el matemtico John von Neumann el 30 de junio de 1945 en un borrador sobre el diseo de la EDVAC. A diferencia de los primeros computadores, von Neumann propona que tanto el programa como sus datos fueran almacenados en la memoria del computador. Esto no solo simplificaba la labor de programacin al no tener que llevar a cabo el recableado del computador sino que adems libraba y generalizaba el diseo del hardware para hacerlo independiente de cualquier problema y enfocado al control y ejecucin del programa. Este concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura de von Neumann, an presente en nuestros das.

29

5 Lenguaje De Maquina Instrucciones y Datos

5.1 Lenguaje de Mquina


Es el nico lenguaje que entiende el hardware (mquina) y usa exclusivamente el sistema binario. Este lenguaje es especfico para cada hardware (procesador, dispositivos, etc.)

Los lenguajes mquina, son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traduccin posterior para que la UCP, pueda entender y ejecutar el programa. Las instrucciones en lenguaje mquina, se expresan en trminos de la unidad de memoria ms pequea, el bit (digito binario 0 o 1), en esencia una secuencia de bits que especifican la operacin y las celdas implicadas en una operacin. Una serie de instrucciones en lenguaje maquina son

0010 0000 0000 1001 1001 0001 1001 1110


Como se puede observar, estas instrucciones sern fciles de leer por la computadora y difciles por un programador, y viceversa. Esta razn hace difcil escribir programas en cdigo o lenguaje a maquina y requiere buscar otro lenguaje pare comunicarse con la computadora, pero que sea mas fcil de escribir y leer por el programador. Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han diseado otros lenguajes de programacin que facilitan la escritura y posterior ejecucin de los programas.

30

5.2 Lenguaje Ensamblador


Es un lenguaje que usa mnemnicos (palabras cortas escritas con caracteres alfanumricos), para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como nmeros en un sistema hexadecimal. Generalmente es especfico (aunque no nico) para cada lenguaje de mquina. La estructura de una instruccin en este lenguaje es la siguiente:

MNEMONICO ARGUMENTO(S)
Un ENSAMBLADOR es un software, generalmente escrito en lenguaje de mquina, que es capaz de traducir de lenguaje ensamblador a lenguaje de mquina, mientras que un CARGADOR es un software que almacena en memoria el programa en lenguaje de mquina generado por el ensamblador.

5.3 Ciclo De Ejecucin De Instrucciones


Ciclo de bsqueda de instrucciones. En l se transfiere la direccin de la siguiente instruccin al bus de direcciones, se enva una orden de lectura a los dispositivos de memoria a travs del bus de control, se lee la informacin del bus de datos, y si se trata del primer byte de una instruccin, se transfiere este byte al registro de instrucciones. Ciclo de ejecucin de instrucciones. En l se ejecuta la instruccin. El registro de instrucciones est conectado a un decodificador, que determina cuntos bytes de informacin adicionales se requieren. stos se cargan mediante ciclos de bsqueda, como se indic con anterioridad. Cuando la ejecucin est completa, la mquina comienza automticamente el ciclo de bsqueda de la siguiente instruccin del programa. La ejecucin es por tanto, una secuencia continua de ciclos de bsqueda y ejecucin.

31

S-ar putea să vă placă și