Tecnología

ALU (unidad aritmética lógica): operaciones y arquitectura


La ALU (unidad aritmética lógica) es un circuito electrónico cuya función es llevar a cabo todos los procesos relacionados con los procedimientos de lógica y cálculo numérico. Figura como un componente indispensable de la unidad central de procesamiento (CPU) de las computadoras.

Las CPU recientes incluyen ALU muy potentes y complejas. En algunas estructuras de CPU, la ALU se divide en una unidad aritmética y una unidad lógica. Además de la ALU, las CPU actuales incluyen una unidad de control.

La mayoría de las operaciones de una CPU son realizadas por una o más ALU, cuando se cargan los datos desde los registros de entrada. Un registro es un pequeño espacio libre para almacenar como parte de una CPU.

La unidad de control le indica a la ALU qué procedimiento debe ejecutar con esa información, y guarda el resultado en un registro de salida. La unidad de control realiza la transferencia de la información entre los registros, la ALU y la memoria.

A medida que los procedimientos se vuelven más complejos, la ALU también va a ocupar más espacio en la CPU, tendrá un mayor costo, y generará más calor.

Índice del artículo

Operaciones realizadas por la ALU

La ALU se dedica primordialmente a realizar operaciones lógicas y matemáticas, incluyendo las operaciones de desplazamiento de bits. Estos son procesos fundamentales que se deben ejecutar en casi todos los datos que procesa la CPU.

La unidad aritmética lógica es ese componente de la CPU que ejecuta todos los cálculos que la CPU pueda necesitar. Es la parte “calculadora” de la computadora, ya que realiza las operaciones aritméticas y lógicas básicas.

Gran parte de los procedimientos son de índole lógico. Acorde al diseño que tenga la ALU, se le podrá dar a la CPU mayor potencia. Sin embargo, hará también que gaste más energía y produzca más calor.

Las diferentes operaciones que lleva a cabo la ALU se pueden clasificar de la siguiente manera:

Operaciones lógicas

Aquí se encuentran las diferentes operaciones lógicas, tales como AND, OR, NOT, XOR, NOR, NAND, etc.

Operaciones aritméticas

Se refiere a la suma y resta de bits. Aunque a veces se usa la multiplicación y la división, estas operaciones son más costosas de realizar.

Se pueden usar también sumas repetitivas para sustituir la multiplicación y restas repetitivas para sustituir la división.

Operaciones de desplazamiento de bits

Se refiere al desplazamiento de las posiciones de los bits en un cierto número de lugares hacia la derecha o hacia la izquierda, lo que se considera como una operación de multiplicación.

Unidad aritmética y lógica

En la unidad aritmética, la multiplicación y la división se realizan mediante una serie de operaciones de suma o resta y con el desplazamiento de los bits. Hay varias formas de representar los números negativos.

En la unidad lógica se puede llevar a cabo cualquiera de las 16 operaciones lógicas posibles. Por ejemplo, contrastar dos operandos o reconocer en qué lugares no coinciden los bits.

Arquitectura de la ALU

La ALU puede acceder directamente tanto de entrada como salida a la unidad de control del procesador, a la memoria principal y a los dispositivos de entrada y salida.

Los datos de entrada y de salida son transmitidos a través de una ruta electrónica llamada bus. La entrada corresponde a una instrucción, la cual incluye uno o más operandos, un código de operación y, en algunos casos, un código de formato.

El código de operación le muestra a la ALU cuál es la acción que esta debe ejecutar, además de los operandos involucrados en dicha operación. Por ejemplo, podría indicar que se resten o se comparen los dos operandos.

La salida consta de un resultado que se colocará en un registro de almacenamiento y de una configuración que indicará si la operación se realizó con éxito. Si no es así, se almacenará algún tipo de estado en el estado de la máquina.

El flujo de bits y las operaciones realizadas sobre ellos en las subunidades de la ALU son controlados mediante circuitos de compuertas.

En estos circuitos, una unidad lógica de secuencia es la que dirige las compuertas, a través de una secuencia específica que corresponda a cada código de operación.

Compuertas lógicas

Toda la información en una computadora se almacena y se maneja en forma de números binarios, es decir, 0 y 1. Para manejar los números binarios se utilizan los interruptores de los transistores, ya que solo hay dos estados posibles en un interruptor: abierto o cerrado.

Un transistor abierto, a través del cual no pasa corriente, representa un 0. Un transistor cerrado, a través del cual sí pasa corriente, representa un 1.

Las operaciones se pueden lograr al conectar múltiples transistores. Se puede usar un transistor para controlar un segundo transistor. Por ejemplo, el interruptor de un transistor se enciende o se apaga dependiendo del estado de un segundo transistor.

Esto se conoce como compuerta, porque esta disposición se puede utilizar para permitir o detener la corriente eléctrica.

Las compuertas son los bloques de construcción de la ALU. Se construyen a partir de diodos, resistencias o transistores. Estas compuertas se utilizan en el circuito integrado para representar una entrada binaria como estado “encendido” y “apagado”.

La ALU se configura a través de un circuito combinatorio. Este circuito utiliza para su conformación compuertas lógicas como AND, OR, NOT.

Compuerta AND

La compuerta AND tiene dos o más entradas. La salida de la compuerta AND es 1 si todas las entradas son 1. La compuerta AND da 0 como resultado si cualquiera de los datos de entrada es 0.

Compuerta OR

La compuerta OR puede tener dos o más entradas. La salida de la compuerta OR siempre será 1 si alguna de las entradas es 1 y 0 si todas las entradas son 0.

Compuerta NOT

El tipo más simple de operación es una compuerta NOT. Esta usa solamente un único transistor. Utiliza una sola entrada y produce una sola salida, que siempre es lo contrario de la entrada.

La compuerta NOT se usa para revertir el resultado de las compuertas o invertir el estado booleano de 0 a 1 y de 1 a 0. También se usa con la compuerta “AND” y “OR”.

Cuando se usa en conjunto con la compuerta AND o “OR”, la compuerta NOT se representa con un círculo pequeño delante de ambas compuertas.

Después de usar la compuerta NOT, las compuertas AND se convierten en NAND y las compuertas “OR” se convierten en NOR.

Registros

Son un componente muy importante en la ALU para almacenar instrucciones, datos intermedios, los operandos de entrada, los operandos que se agregan, el resultado acumulado, que es almacenado en un acumulador, y el resultado final.

Los registros proporcionan un acceso muy rápido a la memoria, si se comparan con el caché, la RAM y el disco duro. Están construidos en la CPU y son pequeños.

Referencias

  1. Paul Zandbergen (2019). Arithmetic Logic Unit (ALU): Definition, Design & Function. Study. Tomado de: study.com.
  2. Techopedia (2019). Arithmetic Logic Unit (ALU). Tomado de: techopedia.com.
  3. Margaret Rouse (2019). Arithmetic-logic unit (ALU). Techtarget. Tomado de: whatis.techtarget.com.
  4. Dinesh Thakur (2019). What is Arithmetic Logic Unit (ALU)? – Definition and meaning. Ecomputer Notes. Tomado de: ecomputernotes.com.
  5. Wikipedia, the free encyclopedia (2019). Arithmetic logic unit. Tomado de: en.wikipedia.org.