domingo, 1 de marzo de 2009

LAS TRES FUNCIONES LÓGICAS BÁSICAS ( II )

La traducción inglesa de la palabra española "o" es la palabra or. Esta es precisamente la palabra que usaremos para identificar cualquier tipo de sistema combinado que muestre un comportamiento como el que acabamos de ver. Es común representar un circuito de esta naturaleza de la manera siguiente:




Este bloque es mejor conocido como la función OR que como ya se dijo su traducción del inglés al español significa la palabra "o", como en la frase "patria o muerte", y es en sí otra función lógica básica. Este será otro de nuestros "ladrillos" fundamentales. También podemos representar sus propiedades en una Tabla de Verdad como la que se muestra a continuación:




Aquí podemos ver el sentido de la palabra OR. La salida del circuito será 1 si la entrada A o la entrada B tienen un valor de 1.

Por último, consideremos ahora el siguiente circuito construído con un solo relevador electromecánico sencillo, en el cual cuando no hay voltaje alguno aplicado a la terminal de entrada A (lo cual equivale a poner cero volts o "0" en la terminal de entrada), el voltaje positivo (+) que designamos como "1" lógico pasa directamente a la Salida:





Supóngase ahora que se le aplica un voltaje (un "1") a la terminal de entrada A. Al energizarse la bobina del relevador, al convertirse en un imán por la acción de la corriente eléctrica "jalando" con ello el interruptor encima de él hacia abajo , el contacto superior que conectaba la Salida a una fuente de voltaje positivo (un "1") desciende de su posición normal, desconectando dicha terminal del voltaje positivo, lo cual equivale a dejar sin voltaje alguno la Salida, lo cual podemos tomar como un "cero" ("0") lógico. Prescindiendo de los detalles innecesarios, tenemos un componente en el cual cuando la entrada es "0" la salida es "1", y cuando la entrada es "1" la salida cae a "0". Esto es lo que llamamos comúnmente como una inversión lógica. Este componente es por lo tanto un inversor.

Es común representar simbólicamente un componente que funcione de esta manera en la siguiente forma:




Es importante aclarar que lo que realmente representa la función inversora es la "burbuja" colocada a la derecha del triángulo. El triángulo en sí, históricamente, pretendía hacer notar que además de la inversión se estaba llevando a cabo una amplificación elétrica de la señal para corregir cualquier deterioro previo que hubiera tenido, y de hecho el símbolo sin la burbuja es conocido como buffer, aunque el buffer en sí no lleva a cabo ningún procesamiento de información porque un "0" puesto a su entrada pasa como un "0" a su salida y un "1" puesto a su entrada también pasa inalterado como un "1" a su salida. Es común en muchos circuitos lógicos utilizar únicamente la burbuja ya sea en una o varias de las entradas y/o en una o varias de las salidas para indicar que en ese punto se está llevando a cabo una inversión. Es importante aclarar que, por lo general, la burbuja sólo tiene este significado únicamente cuando está "pegada" a una de las funciones lógicas básicas o a algún componente derivado de la misma.

El bloque simbólico arriba mostrado es mejor conocido como la función NOT (palabra que proviene de la palabra inglesa not que en español significa "no", como en la frase de negación "carlos no es un arquitecto") y es nuestra tercera función lógica básica. Podemos resumir sus propiedades en la siguiente Tabla de Verdad:





Estos son los únicos bloques que necesitamos para construír cualquier computadora capaz de correr un programa como Windows o Linux. Se necesitan muchos de ellos para poder armar una computadora, claro está, pero la gran integración de millones de transistores en un pequeños circuitos integrados de elevada densidad permite lograr la construcción de super-computadoras que todavía hace apenas dos décadas se habrían antojado imposibles de lograr. Las tecnologías de manufactura han sido diversas, desde los primitivos relevadores electromecánicos con los cuales IBM construyó la computadora Harvard Mark I en 1944 en los Estados Unidos a iniciativa del Doctor Howard Aiken, y con los cuales Konrad Zuse construyó la computadora Z3 en 1941 en Alemania, pasando por los bulbos electrónicos al vacío (anteriormente utilizados para la construcción de radios y televisores "primitivos") con los cuales se construyó la computadora ENIAC, hasta llegar a los transistores y los circuitos integrados que permitieron la construcción de microcomputadoras y minicomputadoras, culminando con los primeros microprocesadores que empezaron a ser fabricados por Motorola e Intel que permitieron la fabricación de computadoras caseras como la que tiene el lector precisamente en estos momentos en sus manos. Sin embargo, detrás de todas las variantes tecnológicas, una cosa no ha cambiado, y esto es la teoría fundamental que las hace operar, basada siempre a fin de cuentas en tan sólo tres funciones lógicas básicas, el bloque OR, el bloque AND y el bloque NOT.

Las funciones lógicas OR y AND pueden tener no solo dos sino tres o más entradas cada una. Analicemos, por ejemplo, un AND de tres entradas:





Puesto que en el AND de dos entradas la salida es 1 únicamente cuando todas sus entradas son 1, extendiendo la definición tenemos que en el AND de tres entradas la salida también será 1 únicamente cuando todas las entradas sean 1. Teniendo esto en mente, podemos construír inmediatamente una Tabla de Verdad para el AND de tres entradas:





Del mismo modo, podemos hacer una extensión similar del concepto del bloque OR para un OR que tenga más de dos entradas, en donde extendiendo la definición tenemos que la salida de un OR con cualquier número de entradas será 1 cuando cualquiera de las entradas o una combinación de cualquiera de las entradas tenga un valor de 1.

Estudiemos ahora lo que ocurre cuando conectamos un OR a un NOT de la manera siguiente:





Aplicando todas las combinaciones posibles de unos y ceros en las entradas, obtenemos la salida para cada combinación posible tomando tomano en cuenta las propiedades del OR y la acción inversora del NOT, con lo cual podemos construír la siguiente Tabla de Verdad:





Tenemos un circuito que produce un 1 a la salida únicamente cuando ambas entradas son 0. Esta configuración es mejor conocida como la función NOR (la palabra NOR es una contracción de las palabras NOT-OR, que son los elementos usados para construír esta configuración) y se representa de la siguiente manera:






A continuación estudiemos lo que ocurre cuando conectamos un AND a un NOT de la manera siguiente:





La Tabla de Verdad para este circuito deberá ser como se muestra a continuación:





Tenemos un circuito que produce un 0 a la salida únicamente cuando ambas entradas son 1. Esta configuración es mejor conocida como la función NAND (la palabra NAND es una contracción de las palabras NOT-AND, que son los elementos usados para construír esta configuración) y se representa de la siguiente manera:




Las funciones NOR y NAND son ejemplos claros que muestran cómo se pueden utilizar las tres funciones lógicas básicas para construír funciones más complejas.

Estudiemos ahora la siguiente situación:





La pregunta que nos hacemos es la siguiente: ¿Cuál será la salida del OR al introducir las palabras 01100 y 11001 en sus entradas?

Para responder a esta pregunta, notamos que los primeros bits en entrar al OR son el último bit de la palabra 01100 (esto es, un 0) y el último bit de la palabra 11001 (esto es, un 1). La salida producida por el OR será por lo tanto un 1. A continuación, los siguientes bits que entran son el penúltimo bit de la palabra 01100 (esto es, un 0) y el penúltimo bit de la palabra 11001 (esto es, un 0). La siguiente salida producida por el OR será por lo tanto 0, con lo cual a su salida ya se habrá formado la palabra 01. De esta manera, vemos que a su salida se formará la siguiente palabra:

11101

Puesto que la palabra en la salida del OR es diferente de las palabras a sus entradas, decimos que se ha llevado a cabo un procesamiento de información. Este es el propósito fundamental de todos los circuitos lógicos.

Supongamos ahora que se nos presenta un componente electrónico en el cual los niveles de voltaje naturales al sistema son +5 volts y 0 volts. Dicho componente electrónico tiene dos terminales de entrada A y B y una terminal de salida. Al aplicar los siguientes niveles en sus entradas produce los siguientes niveles de voltaje en su salida:



Designando al voltaje mayor (o más positivo) de +5 volts como "1" y al voltaje menor (o más negativo) como "0", la Tabla de Verdad toma el siguiente aspecto:



El circuito se comporta como una función OR.

En este último ejemplo, muy bien podríamos haber adoptado otra convención igualmente válida. Podríamos haber identificado al voltaje de +5 volts con un "0" y al voltaje de cero volts con un "1", lo cual nos produce otra Tabla de Verdad diferente. Esto es lo que se conoce como lógica negativa. Con el propósito de evitar confusiones, nos hemos abstenido y nos seguiremos absteniendo de utilizar este enfoque, aunque una vez que se hayan dominado los principios la lógica positiva y la lógica negativa son tan válidas la una como la otra. Hagamos al menos con este ejemplo tal cosa; construyamos la Tabla de Verdad asignándole al nivel de +5 volts un valor lógico de "0" y al voltaje de cero volts un valor lógico de "1". Entonces la Tabla de Verdad que se obtiene será la siguiente:



El circuito se comporta como una función AND.

Tenemos entonces que el comportamiento lógico de un circuito dependerá de las asignaciones que le demos a sus niveles de voltaje. La práctica de designar al voltaje mayor (o más positivo) como "1" y al voltaje menor (o más negativo) como "0" es conocida como lógica positiva. La práctica de designar al voltaje menor (o más negativo) como "1" y al voltaje mayor (o más positivo) como "0" es conocida como lógica negativa.

En el resto de esta obra, a menos que se indique lo contrario, se utilizará exclusivamente lógica positiva.

Con las tres funciones lógicas básicas podemos construír circuitos más elaborados, de creciente complejidad, cuyo análisis se puede llevar a cabo suponiendo todas las combinaciones posibles de "unos" y "ceros" a la entrada, y siguiendo el flujo de cada combinación de valores para ver lo que tenemos a la salida podemos comprobar la función desempeñada por el circuito. Por convención, los diagramas de circuitos lógicos se dibujan de modo tal que el flujo de señales es rastreado de izquieda a derecha. A continuación tenemos el diagrama de un circuito lógico simple en cuyas dos terminales de entrada a y b se han puesto dos "unos" ("1"):





En el AND que tenemos en el extremo izquierdo del diagrama, tenemos dos unos ("1") a la entrada, los cuales producen un "1" a la salida del mismo. Este "1" a la salida del AND es invertido por el NOT, convirtiéndose en un "0". De este modo, tenemos a las entradas del OR en el extremo derecho del diagrama un "0" y un "1", los cuales producen un "1" a la salida del mismo. Nos falta por comprobar otras combinaciones de valores restantes, las cuales son a=0 y b=0, a=1 y b=0, a=0 y b=1. Este método de rastreo de valores de señales se puede aplicar a cualquier circuito lógico, por complejo que sea.

Al ir construyendo circuitos lógicos cada vez más complejos, los alambres que van conectados entre sí se mostrarán conectados explícitamente con un "punto" conector, mientras que los alambres que simplemente se cruzan uno por encima del otro sin conectarse no tendrán el punto conector:



Sin embargo, en las junturas tipo "T" en los diagramas esquemáticos:



se sobreentenderá que siempre hay una conexión entre los dos alambres, ya sea con o sin la presencia del "punto" conector (en esto hay que tener cierta precaución, ya que en los simuladores de circuitos lógicos en una gran variedad de programas computacionales es indispensable agregar siempre en los diagramas de simulación el "punto" conector, ya que muchos de estos programas no están preparados para reconocer esta convención)

No hay comentarios:

Publicar un comentario

ESCRIBE AQUI TUS COMENTARIOS Y DEJA TAMBIEN TUS DUDAS E INTERESES QUE TE CONTESTARÉ A LA MAYOR BREVEDAD POSIBLE. SI TE INTERESA CUALQUIER OTRO TEMA PREGUNTAMELO QUE TE AYUDARÉ .