# Microoperations in Computer Architecture

**Microoperations in Computer Architecture**:- In this post, we discuss **Microoperations in Computer Architecture**.

**Microoperations in Computer Architecture**

A microoperation is an elementary operation performed with the data stored in registers. The microoperations most often encountered in digital computers are classified into four categories:

1. Register transfer microoperations transfer binary information from one register to another.

2. Arithmetic microoperations perform arithmetic operations on numeric data stored in registers.

3. Logic microoperations perform bit manipulation operations on non-numeric data stored in registers.

4. Shift microoperations perform shift operations on data stored in registers.

**The register transfer microoperation **does not change the information content when the binary information moves from the source register to the destination register. The other three types of microoperations change the information content during the transfer. In this section, we introduce a set of arithmetic microoperations. In the next two sections, we present the logic and shift microoperations.

**The basic arithmetic microoperations** are addition, subtraction, increment, decrement, and shift. The arithmetic microoperation defined by the statement

R3<-R1+R2

specifies an add microoperation. It states that the contents of register R1 are added to the contents of register R2 and the sum transferred to register R3. To implement this statement with the hardware we need three registers and the digital component that performs the addition operation. Subtraction is most often implemented through complementation and addition.

The increment and decrement microoperations are symbolized by plus one and minus-one operations, respectively. These microoperations are implemented with a combinational circuit or with a binary up-down counter.

The arithmetic operations of multiply and divide are valid arithmetic operations but are not included in the basic set of microoperations. The only place where these operations can be considered as microoperations is in a digital system, where they are implemented by means of a combinational circuit. In such a case, the signals that perform these operations propagate through gates, and the result of the operation can be transferred into a destination register by a clock pulse as soon as the output signal propagates through the combinational circuit. In most computers, the multiplication operation is implemented with a sequence of add and shift microoperations. The division is implemented with a sequence of subtract and shift microoperations.

**Logic microoperations** specify binary operations for strings of bits stored in registers. These operations consider each bit of the register separately and treat them as binary variables.

**Shift microoperations** are used for the serial transfer of data. They are also used in conjunction with arithmetic, logic, and other data-processing operations. The contents of a register can be shifted to the left or the right. At the same time that the bits are shifted, the first flip-flop receives its binary information from the serial input. During a shift-left operation, the serial input transfers a bit into the rightmost position. During a shift-right operation, the serial input transfers a bit into the leftmost position. The information transferred through the serial input determines the type of shift. There are three types of shifts: logical, circular, and arithmetic.