Arithmetic and Logic Units provide mathematical and logic functions. Without getting too technical ALU’s really only perform logic functions. Math is performed by logic operations that have the effect of adding and subtracting. Boolean logic, AND, OR, NOT, XOR are performed. ALU’s can also shift bits left and right. And, also, through logic functions ALU’s can compare numbers. Expanded versions of ALU’s, most often found in FPU’s, have additional circuits to provide hardware based multiply, divide, and other transcendental math functions. ALU’s are fixed in the size numbers that they can work with due the number of bits they are designed to handle. Currently ALU’s range from 4-bits (handing numbers as big as 15) to 64-bits (handling numbers up to 1,844,674,406).
ALU’s are an evolution in logical circuits. The earliest math circuits were called Half-Adders. Half-Adders could take two bits and add them together, giving a result and, if necessary, a carry. Full-Adders were the next step and provided the ability to add two-bit together, along with a carry from a previous addition. Full-adders gave designers the capability to put multiple Full-adders in parallel to add multi-bit numbers in a single operation. The ALU built on this concept and implemented multiple Full-Adders on a single chip. More advanced ALU’s began to add other logic functions, shift, and compare capabilities. Half-adders, Full-adders, and ALU’s all existed as Logic Chips prior to microprocessors. Microprocessors designers drew on these advances to create their new device.