unidad lógica aritmética


En informática , una unidad lógica aritmética ( ALU ) es un circuito digital combinacional que realiza operaciones aritméticas y bit a bit en números binarios enteros . [1] [2] [3] Esto contrasta con una unidad de coma flotante (FPU), que opera con números de coma flotante . Es un bloque de construcción fundamental de muchos tipos de circuitos informáticos, incluida la unidad central de procesamiento (CPU) de las computadoras, las FPU y las unidades de procesamiento de gráficos (GPU). [4]

Las entradas a una ALU son los datos sobre los que se va a operar, llamados operandos , y un código que indica la operación que se va a realizar; la salida de la ALU es el resultado de la operación realizada. En muchos diseños, la ALU también tiene entradas o salidas de estado, o ambas, que transmiten información sobre una operación anterior o la operación actual, respectivamente, entre la ALU y los registros de estado externos .

Una ALU tiene una variedad de redes de entrada y salida , que son los conductores eléctricos que se utilizan para transmitir señales digitales entre la ALU y los circuitos externos. Cuando una ALU está en funcionamiento, los circuitos externos aplican señales a las entradas de la ALU y, en respuesta, la ALU produce y transmite señales a los circuitos externos a través de sus salidas.

Una ALU básica tiene tres buses de datos paralelos que constan de dos operandos de entrada ( A y B ) y una salida de resultado ( Y ). Cada bus de datos es un grupo de señales que transmite un número entero binario. Normalmente, los anchos de bus A, B e Y (el número de señales que comprende cada bus) son idénticos y coinciden con el tamaño de palabra nativo del circuito externo (p. ej., la CPU de encapsulación u otro procesador).

La entrada del código de operación es un bus paralelo que transmite a la ALU un código de selección de operación, que es un valor enumerado que especifica la operación aritmética o lógica deseada que debe realizar la ALU. El tamaño del código de operación (su ancho de bus) determina el número máximo de operaciones diferentes que puede realizar la ALU; por ejemplo, un código de operación de cuatro bits puede especificar hasta dieciséis operaciones ALU diferentes. En general, un código de operación ALU no es lo mismo que un código de operación en lenguaje de máquina , aunque en algunos casos puede codificarse directamente como un campo de bits dentro de un código de operación en lenguaje de máquina.

Las salidas de estado son varias señales individuales que transmiten información adicional sobre el resultado de la operación ALU actual. Las ALU de uso general suelen tener señales de estado como:


Una representación simbólica de una ALU y sus señales de entrada y salida, indicadas por flechas que apuntan hacia adentro o hacia afuera de la ALU, respectivamente. Cada flecha representa una o más señales. Las señales de control entran por la izquierda y las señales de estado salen por la derecha; los datos fluyen de arriba hacia abajo.
El circuito lógico combinacional del circuito integrado 74181 , que es una ALU simple de cuatro bits