### Computer Architecture : ALU Design

An ALU or Arithmetic Logic Unit is a combinational digital electronic circuit that performs arithmetic and bitwise operations on integer binary numbers. In simple words an ALU is the part of a computer processor (CPU) that carries out arithmetic and logic operations on the operands. An ALU is a fundamental building block of many types of computing circuits, including the central processing unit (CPU) of computers, FPUs, and graphics processing units (GPUs). All the calculations are performed in ALU of the computer system. The ALU can perform basic operations such as addition, subtraction, division, multiplication etc. Whenever calculations are required, the control unit transfers the data from storage unit to ALU. When the operations are done, the result is transferred back to the storage unit.

In some computer processors, the ALU is divided into an AU and LU. The AU performs the arithmetic operations, and the LU performs the logical operations. Most of the operations of a CPU are performed by one or more ALUs, which load data from input registers. A register is a small amount of storage available as part of a CPU.

As we know that all  information in a computer is stored and manipulated in the form of binary numbers, i.e. 0 and 1. Transistor switches are used to manipulate binary numbers since there are only two possible states of a switch: open or closed. An open transistor, through which there is no current, represents a 0. A closed transistor, through which there is a current, represents a 1. Operations can be accomplished by connecting multiple transistors. One transistor can be used to control a second one - in effect, turning the transistor switch on or off depending on the state of the second transistor. This is referred to as a gate because the arrangement can be used to allow or stop a current. The simplest type of operation is a NOT gate. This uses only a single transistor.  It uses a single input and produces a single output. The output of NOT gate is always the opposite of the input. Other gates consist of multiple transistors and use two inputs, for examples Or gate, And gate, XOR gate, NAND gate etc. By the use of different combinations of the logic gates make it possible to perform arithmetic operations. For example, in binary number system, the number 2 is represented as (10)2, and the number 3 is represented as (11)2. So how does a computer add 2 and 3? The calculation is implemented using a series of OR, AND, and XOR gates. The result of the logical processing steps is (101)2, which is binary code for 5. The gates make it possible for a computer to break down any complex operation into a very large number of binary steps. A typical CPU contains hundreds of millions of transistors, which make it possible to create very sophisticated ALUs. A computer also processes much larger binary sequences at a time. As a result, complex operations can be performed in fractions of a second.

The below Figure shows the circuit diagram of 4 bit ALU :

Next Topic :