- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What are Shift Micro-operations in Computer Architectures?

Shift micro-operations are used for the serial transfer of data and also support in conjunction with arithmetic, logic, and several data-processing operations. The contents of a register can be shifted to the left or the right.

Simultaneously, that the bits are shifted, the first flip-flop holds its binary data from the serial input. In shift-left operation, the serial input transfers a bit into the rightmost position. In shift-right operation, the serial input transfers a bit into the leftmost position. The data transferred by the serial input decides the type of shift.

## Types of Shift Micro-operations

There are three types of shift micro-operations are as follows −

### Logical Shift

It transfers 0 by the serial input. The symbol **"shl"** can be used for logical shift left and **"shr"** can be used for logical shift right.

R1 ←R1 shl R1

R2 ←R1 shr R2

The register symbol should be the equivalent on both sides of the arrows.

### Circular Shift

This circulates or pivots the bits of register around the two ends without any trouble of data or contents. In circular shift, the serial output of the shift register is linked to its serial input. **"cil"** and **"cir"** is used for circular shift left and right respectively. The symbolic documentation for the shift micro-operations is demonstrated in the table.

**Shift Micro-operations**

Symbolic Designation | Description |
---|---|

R ←R1 shl R | Shift-left register R |

R ←R1 shr R | Shift-right register R |

R ←R1 cil R | Circular shift-left register R |

R ←R1 cir R | Circular shift-right register R |

R ←R1 ashl R | Arithmetic shift-left R |

R ←R1 ashr R | Arithmetic shift-right R |

### Arithmetic Shift

This shifts a signed binary number to left or right. An arithmetic shift left multiplies a signed binary number by 2 and shift left divides the number by 2. Arithmetic shift micro-operation leaves the sign bit constant due to the signed number remains equal when it is multiplied or divided by 2.

R_{n-1} | R_{n-2} | R_{→} | R_{1} | R_{0} |

Sign bit

**Arithmetic Shift Right**

The leftmost bit in a register influences the sign bit, and the remaining bits influence the number. The sign bit is 0 for positive and 1 for negative. Negative numbers are in 2's complement form. The figure displays a symbolic register of n bits.

Bit R_{n-1} in the leftmost position holds the sign bit.

R_{n-2} is the most significant bit of the number and

R_{0} is the least significant bit. The arithmetic shift-right leaves the sign bit constant and shifts the number (involving the sign bit) to the right. Therefore

R_{n-1} remains the equal,

R_{n-2} receives the bit from

R_{n-1} and so on for the other bits in the register. The bit in

R_{0} is lost.

- Related Articles
- What are Logic Micro-Operations in Computer Architecture?
- What are Arithmetic Micro-operations?
- What are the different network properties in Computer Architectures?
- What are the Mesh-Connected Networks in Computer Architectures?
- What are the shift operations in C language?
- How instruction set architectures check the result of operations?
- What are Shared Memory MIMD Architectures?
- What is Arithmetic Logic Shift Unit in Computer Architecture?
- What is Amplitude Shift Keying (ASK) in Computer Network?
- What is Phase Shift Keying (PSK) in Computer Network?
- Explain Frequency Shift Keying (FSK) in Computer Network
- What are the different components and architectures of firewalls?
- What are Left Shift and Right Shift Operators (>> and
- Decimal arithmetic operations in Computer Architecture?
- What are shift operators in C++?