viernes, 30 de julio de 2010

CIRCITOS LOGICOS CON COMPUERTAS

Los circuitos cuyos componentes realizan operaciones análogas a las que indican los operadores lógicos se llaman "circuitos lógicos" o "circuitos digitales".
Los operadores lógicos básicos son "Y", "O" y "N", los cuales se representan respectivamente con los símbolos: , y . Por eso, los componentes que realizan operaciones análogas se llaman "componentes básicos" [*]. Los componentes que resultan de la combinación de dos o más componentes básicos se llaman "componentes combinados" [**].

Todos los componentes arrojan una señal de salida, pero pueden recibir una o dos señales de entrada. En general, se los llama "compuertas" (en inglés, gates) [***]. Las compuertas se construyen con resistores, transistores, diodos, etc., conectados de manera que se obtengan ciertas salidas cuando las entradas adoptan determinados valores. Los circuitos integrados actuales tienen miles de compuertas lógicas.

En el cuadro siguiente se presenta la lista completa de los componentes de los circuitos lógicos. (En letras negritas están los nombres en castellano y en letras normales los nombres en inglés.)

ECUACIONES BOOLEANAS


Álgebra de Boole (también llamada Retículas booleanas) en informática y matemática, es una estructura algebraica que rigorizan las operaciones lógicas Y, O y NO, así como el conjunto de operaciones unión, intersección y complemento.

Se denomina así en honor a George Boole, (2 de noviembre de 1815 a 8 de diciembre de 1864), matemático inglés que fue el primero en definirla como parte de un sistema lógico a mediados del siglo XIX. El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. En la actualidad, el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico. Claude Shannon fue el primero en aplicarla en el diseño de circuitos de conmutación eléctrica biestables, en 1948.

COMPUERTAS LÓGICAS


Las computadoras digitales utilizan el sistema de números binarios, que tiene dos dígitos 0 y 1. Un dígito binario se denomina un bit. La información está representada en las computadoras digitales en grupos de bits. Utilizando diversas técnicas de codificación los grupos de bits pueden hacerse que representen no solamente números binarios sino también otros símbolos discretos cualesquiera, tales como dígitos decimales o letras de alfabeto. Utilizando arreglos binarios y diversas técnicas de codificación, los dígitos binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos de instrucciones para realizar diversos tipos de cálculos.

La información binaria se representa en un sistema digital por cantidades físicas denominadas señales, Las señales eléctricas tales como voltajes existen a través del sistema digital en cualquiera de dos valores reconocibles y representan una variable binaria igual a 1 o 0. Por ejemplo, un sistema digital particular puede emplear una señal de 3 volts para representar el binario "1" y 0.5 volts para el binario "0". La siguiente ilustración muestra un ejemplo de una señal binaria.

Como se muestra en la figura, cada valor binario tiene una desviación aceptable del valor nominal. La región intermedia entre las dos regiones permitidas se cruza solamente durante la transición de estado. Los terminales de entrada de un circuito digital aceptan señales binarias dentro de las tolerancias permitidas y los circuitos responden en los terminales de salida con señales binarias que caen dentro de las tolerancias permitidas.

La lógica binaria tiene que ver con variables binarias y con operaciones que toman un sentido lógico. La manipulación de información binaria se hace por circuitos lógicos que se denominan Compuertas.

Las compuertas son bloques del hardware que producen señales en binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica. Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadoras digitales. Cada compuerta tiene un símbolo gráfico diferente y su operación puede describirse por medio de una función algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en forma tabular en una tabla de verdad.

Una puerta lógica, o compuerta lógica, es un dispositivo electrónico que es la expresión física de un operador booleano en la lógica de conmutación. Cada puerta lógica consiste en una red de dispositivos interruptores que cumple las condiciones booleanas para el operador particular. Son esencialmente circuitos de conmutación integrados en un chip.


Claude Elwood Shannon experimentaba con relés o interruptores electromagnéticos para conseguir las condiciones de cada compuerta lógica, por ejemplo, para la función booleana Y (AND) colocaba interruptores en circuito serie, ya que con uno solo de éstos que tuviera la condición «abierto», la salida de la compuerta Y sería = 0, mientras que para la implementación de una compuerta O (OR), la conexión de los interruptores tiene una configuración en circuito paralelo.

La tecnología microelectrónica actual permite la elevada integración de transistores actuando como conmutadores en redes lógicas dentro de un pequeño circuito integrado. El chip de la CPU es una de las máximas expresiones de este avance tecnológico.

En nanotecnología se está desarrollando el uso de una compuerta lógica molecular, que haga posible la miniaturización de circuitos.

LOGICA COMBINATORIA

La lógica combinatoria es la lógica última y como tal puede ser un modelo simplificado del cómputo, usado en la teoría de computabilidad (el estudio de qué puede ser computado) y la teoría de la prueba (el estudio de qué se puede probar matemáticamente.)

La teoría, a causa de su simplicidad, captura las características esenciales de la naturaleza del cómputo. La lógica combinatoria (LC) es el fundamento del cálculo lambda, al eliminar el último tipo de variable de éste: la variable lambda. En LC las expresiones lambda (usadas para permitir la abstracción funcional) son substituidas por un sistema limitado de combinadores, las funciones primitivas que no contienen ninguna variable libre (ni ligada). Es fácil transformar expresiones lambda en expresiones combinatorias, y puesto que la reducción de un combinador es más simple que la reducción lambda, LC se ha utilizado como la base para la puesta en práctica de algunos lenguajes de programación funcionales no-estrictos en software y hardware.

Una de las propiedades fundamentales del !-c´alculus es la completitud combinatoria:
Teorema 3.1.1. Dado un !-t´ermino arbitrario conteniendo alguna variable libre, denotado como1
M("x), es posible construir un nuevo t´ermino F con la propiedad:
F"x = M("x)
Esta propiedad es denominada completitud combinatoria. Hay un candidato obvio para F, cual es:
!"x.M
No obstante, m´as notable a´un es que F pueda ser construido usando los dos combinadores S y K
y aplicaciones (es decir, no hay ninguna necesidad de la abstraci´on). La teor´ıa que desarrolla la
anterior aproximaci´on es la L´ogica Combinatoria.
La L´ogica Combinatoria fue inventada por Sch¨onfinkel en 1924 e independientemente por Curry
en 1930. La notaci´on que usamos en nuestra presentaci´on de la teor´ıa de combinadores se debe a
1Esta notaci´on deber´ıa ser le´ıda como “FV (M) es un subconjunto de !x ”.Curry. La teor´ıa de combinadores es m´as temprana que el m´as temprano trabajo sobre !-calculus
que fue introducido por Curry en 1932. Nuestro ´enfasis mostrado en el !-calculus est´a motivado por
el hecho de que la !-notaci´on es una notaci´on de “m´as alto nivel” que la de los combinadores; los
t´erminos combinatorios parecen programas de un lenguaje ensamblador. Esta ´ultima observaci´on
se refleja en el uso que las Ciencias de la Computaci´on han hecho de las dos teor´ıas: el !-calculus
es a veces descrito como el lenguaje de programaci´on funcional can´onico, mientras que ning´un
lenguaje de alto nivel emplea una notaci´on basada en los combinadores (de bajo nivel/grano fino)
de la L´ogica Combinatoria; alguna de las implementaciones pioneras estuvieron basadas en la reducci
´on de combinadores. Desde el punto de vista de la implementaci´on de un lenguaje, uno de los
atractivos de los t´erminos combinatorios es que no hay ninguna acotaci´on de variables y, consecuentemente,
el papel del entorno (cfr. Cap´ıtulo 8) disminuye: esto tiene importantes implicaciones
para las implementaciones distribuidas en las cuales el acceso a un entorno puede suponer un gran
embotellamiento. La clase de los t´erminos combinatorios es definida como sigue:
KPQ = P
SPQR = PR(QR)

P = P
P = Q
Q = P
P =Q Q= R
P = R
P = P!
PR = P!R
P = P!
RP = RP!

viernes, 16 de julio de 2010

operaciones logicas


En lógica, una conectiva lógica, o simplemente conectiva, es un símbolo que se utiliza para conectar dos fórmulas, de modo que el valor de verdad de la fórmula compuesta dependa del valor de verdad de las fórmulas componentes.

En programación se utilizan para combinar valores de verdad y obtener nuevos valores que determinen el flujo de control de un algoritmo o programa.

Las conectivas lógicas son, junto con los cuantificadores, las principales constantes lógicas de muchos sistemas lógicos, principalmente la lógica proposicional y la lógica de predicados.

proposiciones simples


También denominadas atómicas. Son aquellas proposiciones que no se pueden dividir. Ejemplo:

El cielo es azul. (verdadero)

proposicion logica


El valor de verdad de una proposición lógica atómica es, por definición, verdadero o falso (podemos representarlo como V o F).

Así el enunciado “llueve” es verdadero si y sólo si está lloviendo en ese momento. Pero si dicho enunciado se considera como proposición lógica atómica, p, entonces puede ser tanto verdadera como falsa.

Es una verdad de hecho o contingente, porque tiene los dos posibles valores de verdad, por la propia definición de proposición lógica.

El contenido de la relación de un enunciado con lo real no es objeto de la lógica sino de otras ciencias.