Une unité arithmétique et logique est un circuit numérique qui effectue des opérations arithmétiques et logiques booléennes. C'est l'un des éléments constitutifs fondamentaux des unités centrales de traitement modernes.
Les opérations arithmétiques que les ALU peuvent effectuer sont l'addition, la soustraction, la multiplication et la division. Les opérations logiques incluent l'inversion de valeurs uniques et la comparaison de deux ou plusieurs valeurs dans les opérations NOT, AND et OR.
Une unité de contrôle récupère les données et le type d'opération souhaité dans la mémoire principale avant de relayer ces informations à l'ALU pour traitement. La plupart des ALU ne peuvent traiter que deux valeurs en une seule opération. Les opérations impliquant plus de deux valeurs, telles que l'addition suivie d'une multiplication, sont généralement décomposées et effectuées par étapes successives. Les ALU sont le dernier composant à effectuer des opérations sur les données du processeur ; après avoir quitté l'ALU, les données sont renvoyées en mémoire. L'ALU peut également transmettre des informations sur l'ordre de série de l'opération en cours et à venir.
Des types spécialisés d'ALU sont utilisés dans les unités à virgule flottante et les unités de traitement graphique. La plupart des processeurs modernes contiennent plusieurs ALU, permettant l'exécution simultanée de plusieurs opérations arithmétiques et logiques. L'ALU a été conceptualisée pour la première fois par le mathématicien John von Neumann en 1945 dans le cadre de ses travaux sur EDVAC, un des premiers ordinateurs.