The binary data in a register can be moved within the register from one flip-flop to the other or outside it with application of clock pulses.

The registers such that allow such data transfers are called as shift registers.

Shift registers are used for data storage, data transfer and certain arithmetic and logic operations.

Storage Capacity: The storage capacity of a register is the total number of bits (1 or 0) of digital data it can retain. Each stage (flip flop) in a shift register represents one bit of storage capacity. Therefore the number of stages in a register determines its storage capacity.

Modes of operation of a shift register:
  1. Serial input serial output
  2. Serial input parallel output
  3. Parallel in serial out
  4. Parallel in parallel out
Serial Input Serial Output (Shift Left Mode):

The serial in/serial out shift register accepts data serially – that is, one bit at a time on a single line. It produces the stored information on its output also in serial form.

Basic four-bit shift register:

A basic four-bit shift register can be constructed using four D flip-flops, as shown in Figure 1.

Serial Input Serial Output Shift Register
Figure 1

The operation of the circuit is as follows.
  • The register is first cleared, forcing all four outputs to zero.
  • The input data is then applied sequentially to the D input of the first flip-flop on the left (FF0).
  • During each clock pulse, one bit is transmitted from left to right.
  • Assume a data word to be 1001.
  • The least significant bit of the data has to be shifted through the register from FF0 to FF3.
In order to get the data out of the register, they must be shifted out serially. This can be done destructively or non-destructively. For destructive readout, the original data is lost and at the end of the read cycle, all flip-flops are reset to zero.


The data is loaded to the register when the control line is HIGH (i.e. WRITE). The data can be shifted out of the register when the control line is LOW (i.e. READ).


Serial In - Parallel Out Shift Registers

For this kind of register, data bits are entered serially in the same manner as discussed in the last section. The difference is the way in which the data bits are taken out of the register. Once the data are stored, each bit appears on its respective output line, and all bits are available simultaneously. A construction of a four-bit serial in - parallel out register is shown below.

Serial Input Parallel Out Shift Register

In the table below, we can see how the four-bit binary number 1001 is shifted to the Q outputs of the register.


Parallel In - Serial Out Shift Registers

A four-bit parallel in - serial out shift register is shown below. The circuit uses D flip-flops and NAND gates for entering data (i.e. writing) to the register.

Parallel Input Serial Out Shift Register

D0, D1, D2 and D3 are the parallel inputs, where D0 is the most significant bit and D3 is the least significant bit. To write data in, the mode control line is taken to LOW and the data is clocked in. The data can be shifted when the mode control line is HIGH as SHIFT is active high. The register performs right shift operation on the application of a clock pulse, as shown in the table below.


Parallel In - Parallel Out Shift Registers

For parallel in - parallel out shift registers, all data bits appear on the parallel outputs immediately following the simultaneous entry of the data bits. The following circuit is a four-bit parallel in - parallel out shift register constructed by D flip-flops.

Parallel Input Parallel Out Shift Register

The D's are the parallel inputs and the Q's are the parallel outputs. Once the register is clocked, all the data at the D inputs appear at the corresponding Q outputs simultaneously.


Bidirectional Shift Registers

The registers discussed so far involved only right shift operations. Each right shift operation has the effect of successively dividing the binary number by two. If the operation is reversed (left shift), this has the effect of multiplying the number by two. With suitable gating arrangement a serial shift register can perform both operations.

A bidirectional, or reversible, shift register is one in which the data can be shift either left or right. A four-bit bidirectional shift register using D flip-flops is shown below.

Bidirectional Shift Registers

Here a set of NAND gates are configured as OR gates to select data inputs from the right or left adjacent bistables, as selected by the LEFT/RIGHT control line.

Post a Comment

 
Top