Arithmetic logic units (ALUs) are digital circuits used to perform bitwise and arithmetic operations. They find wide use in processors to execute instructions.
In processors, ALUs should have enough circuitry to support relevant instructions in the architecture. In general, ALUs consist of multiple inputs (usually 2), an output, a control field (to determine which operation is being done), and other optional fields (like to determine whether the operation is being done on a signed number). Computations supported by ALUs include: adds, subtracts, ORs, NANDs, and shifts. This isn’t an exhaustive list and ALUs usually support many more operations.