Shift registers are basically a type of register which have the ability to transfer
(“shift”) data. Registers are generically storage devices which are created by
connecting a specific number of flip flops together in series and the amount of data
(number of bits) which can be stored by the register is always directly proportional
to the number of flip flops, as each flip flop is capable of storing only one bit at a
time. When the flip-flops in a register are connected in such a way that the output of
one flip flop, becomes the input of the other, a shift register is created.
Basically shift registers are of 4 types. They are:
i. Serial In Serial Out shift register
ii. Serial In parallel Out shift register
iii. Parallel In Serial Out shift register
iv. Parallel In parallel Out shift register
Parallel In-Parallel out (SIPO) Shift Register
Serial In-Parallel out (SIPO) Shift Register
In a serial in-parallel out shift register, the data is input serially one bit at a time and output in a
parallel form. Each bit is shifted on its own clock pulse.
input Q(A) Q(B) Q(C) Q(D)
Clear CLK0 CLK1 CLK2 CLK3
1001 0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
1 0 0 1
Serial In-Serial out (SISO) Shift Register
In the serial in-serial out shift register, data is input serially until it reaches the output. At this
time, it exits in a serial manner as well. The shifting (movement) of the data flows from left to
right in the register.
Parallel In-Serial out (PISO) Shift Register
The parallel in-serial out shift register receives the data input in parallel batches on every clock
pulse and the data is shifted and output serially