##### Introduction
• An arithmetic logic unit (ALU) is a very important part of a CPU.
##### Definition
• An arithmetic logic unit (ALU) is an execution unit and important part of a CPU that does simple as well as complex arithmetic, logic and shift operations in the form of binary arithmetic and boolean algebra.
##### Features
• The simple type of ALUs can be constructed for fixed-point numbers.
• It handles all arithmetic and logical operations such as addition, subtraction, multiplication, division, AND, OR, NOT operations etc.
• The complexity of an ALU depends on the type of instruction set used in it.
• ##### Bit Slice ALUs :
• It is a feasible product of ALU for manufacture.
• When an ALU is constructed simply of smaller size with less complexity for 4 or 8 bits fixed point data and is created on a single IC chip. Later, these 4 or 8 bit ALU chips, on combination, we can make 16, 32, 64 bit array like circuits for complex data manipulation. These are called bit- slice ALUs.
• The basic advantage of Bit Slice ALUs is that these ALUs can be constructed for a desired word size.
##### Structure
• An ALU consists of several Logic circuits in certain predefined order that perform data processing micro-operations.

• The structure of a Fixed point Arithmetic logic unit has three registers AC, MQ and DR for data storage. We here assume that the all are equal to one word each. Here, Parallel adders and other logic circuits (these are the arithmetic, logic circuits) have two inputs and only one output in this diagram.
• It implies that any ALU operation at most can have two input values and will generate single output along with the other status bits.
• Here, the two inputs are AC and DR registers, while output is AC register. AC and MQ registers are generally used as a single AC.MQ register. This register is capable of left or right shift operations.
• Some of the micro-operations that can be defined on this ALU are: –
Addition : AC ← AC + DR
Subtraction : AC ← AC – DR
AND : AC ← AC ^ DR
OR : AC ← AC v DR
Exclusive OR : AC ← AC (+) DR
NOT : AC ← AC
• This type of ALU organisation does multiplication and division operation using shift-add/subtract operations. Here, the MQ (Multiplier-Quotient register) is a special register used for implementation of multiplication and division. One such type of algorithm is Booth’s algorithm that says about the mechanism of multiplication and division.
• During multiplication or division operations, DR register stores the multiplicand or divisor output respectively. The result of multiplication or division on applying/using certain algorithm can finally be obtained in AC.MQ register combination. These operations can be represented as: –
Multiplication : AC.MQ ← DR × MQ
Division : AC.MQ ← MQ ÷ DR
• DR is another important register, which is used for storing second operand i.e., it acts as a buffer register, which stores the data brought from the memory for an instruction. In machines where we have general purpose registers any of the registers can be utilized as AC, MQ and DR.

Categories: Computer Organization