Álgebra Electrónica

Este artículo es parte de una serie, acceder al índice de la serie.

Este artículo trata de puertas lógicas, y al hacerlo también álgebra booleana. Las puertas de la lógica siempre me recuerdan a la película original Tron (no he visto el nuevo Tron, tal vez debería?) Cuando viajan a través de las diferentes puertas de enlace y tiene su pequeño bit que emite “Sí” y “No” en una voz robótica .

George Boole y su álgebra

Primero un poco de fondo. Hace mucho tiempo este tipo muy inteligente llamado George Boole escribió un libro titulado “Una Investigación de la Ley del Pensamiento”. Fue bastante la investigación, pero sólo sé por rumores, ya que en realidad no lo he leído. En este libro, escrito en 1854 se puede creerlo, él establece los principios de un tipo diferente de álgebra. Las variables de este álgebra están restringidas a ciertos valores, sus operaciones son de naturaleza diferente y, en consecuencia, las propiedades o leyes de esas operaciones. Una aplicación del álgebra booleana está en el mundo de la lógica digital, y la programación de computadoras, por lo que estamos hablando de ello hoy.

En álgebra booleana, las variables sólo pueden tener dos estados, típicamente designados como uno o cero. Apuesto a que esto suena muy familiar ya en el artículo sobre el binario que escribí anteriormente. Si no lo hace, vaya a leer ese artículo para que lo haga. Sólo trataremos de operar con variables singulares (sólo una y cero) por ahora y relacionarlas con “puertas lógicas”.

Las operaciones básicas del álgebra booleana son conocidas como “conjunción”, “disyunción” y “negación”. Estos se denominan x∧y, x∨y y ¬x, respectivamente. Estas operaciones también están relacionadas con operaciones algebraicas normales que se harán más claras a medida que avance el artículo. Estas operaciones son multiplicación (xy) para conjunción, adición (x + y) para disyunción, y negación (-x) para negación. No me parece terriblemente útil cuando se piensa en computadoras para realmente prestar atención a la relación con el álgebra normal, pero para los aficionados a la matemáticas que he pensado que querría saber. He incluido un diagrama para ayudarte:

operations

La conjunción trabaja con la multiplicación binaria: si x o y es cero, el resultado es cero. 1 * 0 = 0, 0 * 1 = 0, pero 1 * 1 = 1.

La disyunción funciona con el binario como adición con una excepción si ambos valores son 1 así: 0 + 0 = 1, 0 + 1 = 1, 1 + 0 = 1 y 1 + 1 = 1.

En álgebra booleana, un ‘negativo 1’ por así decirlo es cero, y un cero negativo es uno. Por lo tanto, la negación sólo cambia el valor: -1 = 0 y -0 = 1.

Si eso te confunde de alguna manera también puedes usar lo que se conoce como tablas de verdad. Una tabla de verdad enumera todas las entradas posibles y muestra los resultados de la operación.

truth

Derivaciones del Pensamiento

Usando la “composición” podemos crear otras operaciones de mayor complejidad. Hay varios que podemos crear sin embargo sólo un par son de realmente cualquier uso popular en la medida en que lo veo. Además, son los únicos que vale la pena mencionar en términos de puertas lógicas. La primera es “exclusiva o” y la otra es “equivalencia”. Su composición es la siguiente respectivamente: x⊕y = (x∨y) ∧¬ (x∧y), yx = y = ¬ (x⊕y).

Cosas bastante embriagadoras ¿eh? Estamos entrando en el territorio donde empiezo a salir (y por lo tanto, por qué tengo problemas con las matemáticas más altas). Espero que esos no pasaron por encima de tu cabeza, puedes tratar de resolverlos. Sin embargo, no es absolutamente necesario. Aquí hay tablas de verdad para las operaciones:

composition

Ahora, hay todo tipo de leyes, integridad, principios, diagramas, subconjuntos, vectores, prototipos, abstracciones, representaciones, axiomas y aplicaciones, pero eso es todo lo que necesita saber para entender realmente las puertas lógicas (y la película Tron).

Gateways de la lógica

Ahora que ya sabes lo que es una operación lógica, y cuáles son las básicas (y algunas más avanzadas) comprenderás mejor que una puerta lógica es (generalmente) una pieza de circuitería que implementa una operación lógica. Funcionan físicamente en cargas eléctricas, energía que es una, y la energía muy baja que es cero como mencioné en mi artículo binario. Estas puertas se hacen generalmente usando diodos o transistores, pero cualquier cosa que pueda realizar la lógica trabajará incluso los dispositivos mecánicos o las moléculas como en nanotechnology.

Exactamente cómo las puertas lógicas se implementan en el hardware podría mejor ser guardado para otro artículo (si alguna vez), pero creo que es importante que un programador tiene el conocimiento de fondo de lo que se ven en un diagrama, cómo se organizan y cómo trabajo. Hay lugares en los que es útil saber la lógica booleana, como en las sentencias “if”, y puede diagramarlo usando puertas lógicas (que creo que es la más fácil).

Solo para que sepas, con 2 variables como hemos estado trabajando hasta ahora hay un total de 16 posibles funciones algebraicas booleanas. Voy a dejarlo como un ejercicio para el lector a la investigación o averiguar todas las posibles combinaciones de funciones y lo que significan. Estoy aquí para hablar sobre cada puerta lógica y sus relaciones. Primero, está la puerta NAND.

La puerta NAND es “no y” o comúnmente “no ambos”. A menudo se escribe como una barra vertical:. Parece que la palabra “yo” no? Si quieres sonar como un hacker L33T lo llaman el “golpe de Sheffer”. Al igual que NOR (subiendo) un montón de NANDs con cadenas puede ser utilizado por sí mismo para hacer todo. Literalmente. Las tres funciones básicas se pueden construir utilizando sólo puertas NAND. Así que es una puerta muy importante. Lo dejaré al lector para determinar por qué esto es así. La puerta NAND es básicamente una negación de la operación AND … dejando todo a salvo excepto cuando ambas entradas están cargadas.

nand

Otra puerta con propiedades similares es la puerta NOR. Esta puerta hace algo lo contrario de NAND, por lo que también puede servir como base para construir la equivalencia de muchas otras puertas cuando se enlazan juntas en varias combinaciones. En él, todos los cargos se detienen a menos que no hay cargos.

nor

Hay la puerta XOR, que duplica la operación que discutimos arriba:

xor

No es la puerta de equivalencia que es como cuando se prueba para las equivalencias entre dos variables en la programación con el operador habitual “==”:

xnor

Luego están las puertas básicas que realizan las operaciones que hemos cubierto:

and_or_not

Entonces, ¿qué puedes hacer con todas estas puertas? Bueno, puedes encadenarlos juntos para realizar diferentes operaciones, incluso otras operaciones como las que hemos estado discutiendo. Mostraré dos diagramas de ejemplo de cómo alguien podría hacer esto.

nand_makes_nor

nor_makes_nand

Bueno, ahí lo tienes, los fundamentos de las puertas lógicas y el álgebra booleana. Como he mencionado anteriormente, hay SOOOO mucho más a este material que es altamente técnico y matemático que sólo pensé que estaba fuera del alcance de este artículo. Las puertas lógicas se pueden utilizar para el almacenamiento de datos, hay incluso tres puertas de estado lógico utilizado en los buses de datos de la CPU. Las puertas de lógica se utilizan principalmente en microchips para construir unidades de procesamiento (¿recuerda cómo funciona una computadora?) Tal vez en el futuro voy a cubrir más de estos otros temas, pero por ahora, creo que este artículo es suficiente para empezar.

Aprendí acerca de la lógica booleana y cómo usarla de manera rudimentaria por accidente. Desde mi primera “if statement” en mi TRS-80 Color Computer II 16k estaba practicando la lógica booleana y ni siquiera lo sabía. Así que cuando me enteré de las puertas lógicas que eran muy fáciles de entender. Espero haberlo ayudado a comprender puertas lógicas también.

Este artículo es parte de una serie, acceder al índice de la serie.

Si usted aprecia mis tutoriales y su sabiduría, por favor considere apoyarme en Patreon.

Sin embargo, si un compromiso mensual es un poco demasiado necesitado para usted, podría considerar comprarme una taza de café.

photo credit: Tandy TRS 80 via photopin (license)

También te podría gustar...

Deja un comentario

A %d blogueros les gusta esto: