Las instrucciones lógicas siguen un principio sencillo de entender. en el procesador de la Raspberry PI4b. Podemos ejecutar instrucciones lógicas usando el lenguaje ensamblador. En este capítulo aprenderemos como ejecutar instrucciones lógicas en el procesador de la Raspberry PI4b.
Las operaciones lógicas que hace el cerebro pueden ser consientes o subconsciente. Cuando consientes, nosotros nos damos cuenta de la operación, acción o decisión que estamos haciendo. Cuando subconsciente, nosotros no nos damos cuenta de ello, pero mismo así lo ejecutamos. La lógica y el sentido común o modo de pensar de cada persona tienen mucha similitud.
Por eso el parecido entre una tarjeta como la Raspberry Pi4B y la mente o celebro humano, son muy similares, pues las 2 pueden realizar procesos lógicos. En electrónica se realizan muchas operaciones lógicas, a tal punto que todos los sistemas electrónicos modernos la utilizan. En este artículo estudiaremos estas operaciones o instrucciones. La siguiente imagen muestra el procesador donde se ejecutan las instrucciones lógicas en la Raspberry Pi4B:
La siguiente imagen muestra las partes principales de este procesador. Podemos resaltar la unidad lógica donde se ejecutan las instrucciones lógicas:
Las operaciones o instrucciones lógicas que veremos en este capítulo son: OR, AND y XOR.
LA LOGICA “Y” (AND).
La lógica “Y”, también conocida como “AND”, sigue el principio: “todas las entradas deben estar a 1 lógico para que su salida sea 1, de lo contrario, su salida es cero”. La siguiente imagen, representa el diagrama electrónico de la lógica AND, un circuito eléctrico que representa su funcionamiento y su tabla de verdad:
Observa en el circuito que los interruptores A y B, deben estar ambos presionados para que la lampara se prenda. Si presionamos solo el interruptor “A”, no circula corriente a la lampara. Si presionamos solo el interruptor “B”, tampoco circula corriente a la lampara. Si ninguno de los interruptores esta presionado, tampoco circula corriente. Solo circula corriente cuando los 2 interruptores (“A” “B”) están presionados.
La tabla de verdad, muestra el comportamiento de la lógica “AND”. Observa en ella como la salida vale “1”, cuando las 2 entradas están a “1”. Este tipo de lógica, también se aplica a la vida cotidiana. Podemos ver algunos ejemplos: Probablemente ya escuchaste expresiones de los padres diciendo a sus hijos:
“Si arreglas tu cuarto “y” haces tus tareas puedes ir a la fiesta”.
Analiza: “Puede ir a la fiesta”, si cumple las 2 condiciones, es decir: “arreglar el cuarto” y “hacer las tareas”.
En la vida diaria, también usamos mucho esta lógica AND. Por ejemplo, cuando vamos a sacar dinero de un cajero automático, es necesario tener el cartón o tarjeta que permita hacer el débito de la cuenta y también tener la clave. Si falta alguno de estos dos ítems, no podemos sacar el dinero.
Otro ejemplo, donde es necesario tener varios ítems para llegar a nuestro objetivo puede ser cuando queremos preparar por ejemplo una torta o ponqué. Se necesita tener todos los ingredientes, un recipiente donde colocar ellos y un horno. La siguiente figura muestra este ejemplo.
El siguiente ejemplo muestra la ejecución de una instrucción AND en un registro de 8 bits. Observa que el resultado sigue la lógica de la tabla de verdad para la instrucción AND:
EJECUTANDO LA INSTRUCCIÓN “AND” EN EL SIMULADOR GRAFICO DEL PROCESADOR
Para abrir el simulador gráfico, vaya hasta la carpeta o pasta donde se encuentra el simulador y ejecútelo en un navegador como mostrado en la siguiente imagen:
En el editor vamos a escribir la instrucción para ejecutar:
**Lógica AND
Esto se hace con la instrucción:
**AND
Seguida del registro donde se almacenará el resultado:
**X0 hasta X27
Seguida de los 2 registro usado como operandos para hacer la operación AND:
**X0 hasta X27
Una instrucción AND completa seria así:
**AND X1, X3, X4
Observa: es necesario separar el nombre de los registros por una coma “,”.
Escriba las siguientes instrucciones en el editor del simulador:
Estamos escribiendo un programa donde se carga el registro X3 con el valor: 0X58, el registro X4 con el valor: 0XDB, después se ejecuta la instrucción AND, entre los registros X3 y X4, dejando el resultado en el registro X1. Para ejecutar el programa, presione el botón: “Assemble” y después el botón: “Execute Instruction”, hasta terminar todas las instrucciones.
El programa dará en los registros los siguientes valores:
Puede experimentar con otros valores y ver los resultados en los registros.
LA LOGICA “O” (OR).
La lógica “O”, también conocida como “OR”, sigue el principio: “Si alguna de las entradas está a 1, la salida será 1”. La siguiente figura muestra el diagrama electrónico de la lógica “OR”, un circuito equivalente a su funcionamiento y su tabla de verdad:
Observe en el circuito que: si el interruptor “A” esta presionado, la lampara enciende. Si el interruptor “B” esta presionado, la lampara enciende, es decir si el interrupto A “o” el interrupto B, esta presionado, la lampara enciende. La tabla de verdad muestra el comportamiento de la lógica “OR”. Cuando los 2 interruptores están presionados la lámpara, también enciende.
Este tipo de lógica también es muy común usarlo en el diario vivir. Probablemente has escuchado expresiones como:
“En este supermercado, pueden comprar con: dinero en efectivo “o” tarjeta de crédito”
De la vida práctica podemos citar otro ejemplo donde usamos la lógica OR. Por ejemplo, cuando queremos ir del trabajo a nuestra casa. Tenemos varias alternativas, como:
Se puede ir caminando.
Se puede ir de bicicleta.
Se puede ir de motocicleta.
Se puede ir en bus u ómnibus.
Se puede ir de metro.
Se puede ir de taxi.
Se puede ir un carro.
Cualquiera de las alternativas anteriores nos llevara a casa y así lograr el objetivo de llegar a ella. Por cada posibilidad se puede hacer una entrada en una lógica OR. La Figura 7 muestra una lógica OR de 7 entradas.
Se pueden crear compuertas lógicas OR de la cantidad de entradas que se necesiten. El celebro usa este tipo de lógica prácticamente a diario y aunque no nos demos cuenta o no seamos conscientes de ello, el cerebro la usa. Trate de analizar los actos que hacemos o decisiones que tomamos y podemos observar que siempre usamos este tipo de lógica.
En la siguiente figura podemos observar el resultado de la lógica OR en los primeros 8 bits de un registro.
EJECUTANDO LA INSTRUCCIÓN “OR” EN EL SIMULADOR GRAFICO DEL PROCESADOR
En el editor vamos a escribir la instrucción para ejecutar:
Lógica OR
Esto se hace con la instrucción:
**ORR
Seguida del registro donde se almacenará el resultado:
**X0 hasta X27
Seguida de los 2 registro usado como operandos para hacer la operación OR:
**X0 hasta X27
Una instrucción OR completa seria así:
**ORR X3, X5, X2
Observa: es necesario separar el nombre de los registros por una coma “,”.
Escriba las siguientes instrucciones en el editor del simulador:
Estamos escribiendo un programa donde se carga el registro X5 con el valor: 0X58, el registro X2 con el valor: 0XDB, después se ejecuta la instrucción OR, entre los registros X5 y X2, dejando el resultado en el registro X3.
El programa dará en los registros los siguientes valores:
Experimente con otros valores y vea los resultados en los registros.
LA LOGICA “XO” (XOR).
La lógica “XO”, también conocida como “XOR ESCLUSIVA”, sigue el principio: “La salida será 1, solo, cuando una de sus entradas, este a 1”. La siguiente figura muestra el diagrama electrónico y la tabla de verdad para la lógica “XOR”
Observa en la tabla de verdad que: cuando las entradas están a 1, la salida es cero. Es así, porque esta lógica es exclusiva, es decir solo puede una entrada estar a 1. Esta lógica también se aplica en la vida cotidiana. Probablemente has escuchado expresiones como:
“El cantante de rock, es exclusivo de la disquera”, es decir solo trabaja para esa disquera.
Un otro ejemplo de XOR se puede dar cuando una persona quiere casarse o formar familia, pero se tienen 2 enamoradas. Siendo así, se puede casar, si escoge una de las enamoradas, pero no se puede casar, con las 2 enamoradas. Así, en muchas cosas o actitudes humanas es posible ver el uso de lógica XOR.
En la siguiente figura podemos ver un ejemplo de XOR:
EJECUTANDO LA INSTRUCCIÓN “XOR” EN EL SIMULADOR GRAFICO DEL PROCESADOR
En el editor vamos a escribir la instrucción para ejecutar:
Lógica XOR.
Esto se hace con la instrucción:
**EOR
Seguida del registro donde se almacenará el resultado:
**X0 hasta X27
Seguida de los 2 registro usado como operandos para hacer la operación OR:
**X0 hasta X27
Una instrucción OR completa seria así:
**EOR X3, X5, X2
Observa: es necesario separar el nombre de los registros por una coma “,”.
Escriba las siguientes instrucciones en el editor del simulador:
Estamos escribiendo un programa donde se carga el registro X5 con el valor: 0X58, el registro X2 con el valor: 0XDB, después se ejecuta la instrucción XOR, entre los registros X5 y X2, dejando el resultado en el registro X3. Puede experimentar con otros valores y ver los resultados en los registros.
Conclusión
Como podemos concluir, la lógica es muy simple pues sigue el sentido común. La lógica OR dice que se llega al objetivo por cualquiera de sus entradas y la lógica AND dice que se llega al objetivo, si se cumplen todos los requisitos. La lógica XOR dice que solamente una entrada puede estar activada para que se cumpla o llegue al objetivo. En los ejemplos utilizados en este capítulo, usamos valores cortos, pero puede probar con valores más grandes. La práctica es madre del conocimiento, por eso puede probar y observar los resultados.