Shift Registers


A register is a semiconductor device that is used for storing several bits of digital data.  It basically consists of a set of flip-flops, with each flip-flop representing one bit of the register. Thus, an n-bit register has n flip-flops. A basic register is also known as a 'latch.'


A special type of register, known as the shift register, is used to pass or transfer bits of data from one flip-flop to another.  This process of transferring data bits from one flip-flop to the next is known as 'shifting'. Shift registers are useful for transferring data in a serial manner while allowing parallel access to the data.


A shift register is simply a set of flip-flops interconnected in such a way that the input to a flip-flop is the output of the one before it.  Clocking all the flip-flops at the same time will cause the bits of data to shift or move to the right in one direction (i.e., toward the last flip-flop) . Figure 1 shows a simple implementation of a 4-bit shift register using D-type flip-flops.



Figure 1. A Simple Shift Register Consisting of D-type Flip-flops


Under its basic operation, the data bit of the last flip-flop is lost once it is clocked out.  In some applications there is a need to bring this back to the first flip-flop, in which case the data will just be circulated within the shift register.  A shift register connected this way is known as an end-around-carry shift register, or simply 'ring counter'.


A more complicated version of a shift register is one that allows shifting in both directions, left or right.  It is aptly and quite descriptively referred to as the Shift-Right Shift-Left Register. To accomplish this, a 'Mode' control line is added to the circuit.  The state of this 'Mode' input determines whether the shift direction would be right or left.   


See also:  Flip-flopsCounters;  What is a Semiconductor?




Copyright 2005 All Rights Reserved.