En computación, la unidad aritmético lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.
Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el pitido del temporizador, etc.
Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
Una unidad aritmética lógica (ALU) es un circuito digital capaz de realizar operaciones lógicas y aritméticas. ALU es el fundamento principal de la unidad central de procesamiento (CPU). Incluso los microprocesadores más simples contienen al menos una unidad de este tipo. Dentro de los procesadores y CPUs modernos e incluso unidades de procesamiento gráfico (GPU) tienen complejas, potentes ALUs, un componente sencillo puede contener uno o más ALUs.
Un ALU procesa números en el mismo formato que el resto del circuito digital.
El método de los procesadores modernos es siempre el complemento de dos de la representación de número binario. ALUs para cada uno de los primeros sistemas numéricos tenían diferentes diseños, que también influyó en la actual preferencia por el complemento de dos.
Esta representación hace más fácil para los ALUs calcular sumas y restas.
Además, también permite restas simplemente añadiendo el negativo de un numero en lugar de usar circuitos especializados en la realizacion de sustracción.
Operaciones simples. ALUs son capaces de realizar las siguientes operaciones típicas:
(a) Operaciones Enteras (suma, resta, y, en ocasiones, multiplicación y división)
(b) Bitwise operaciones lógicas (AND, NOT, OR y XOR)
c ) Bit-shifting (cambio de una palabra a un determinado número de bits, ya sea a la izquierda oa la derecha, con o sin signo ). Los cambios (shifts) se pueden interpretar como multiplicado por 2 o dividido por 2.
Operaciones complejas. Una ALU pueden diseñarse para calcular cualquier operación, sin embargo los costos de la ALU es directamente proporcional a su complejidad que por consiguientemente, se relaciona con la ocupación de espacio en el microprocesador y la potencia.