Shift Registers:
Another form of sequential logic circuit that can be used to store or transfer binary data is a shift register.
Shift registers consist of cascaded Flip flopes each passing data to the next Flip flop serially
They require a clock, and at every clock edge, the data is shifted by one place
Example:
If the initial data stored in 4 bit right shift based shift register is 1011.
At the first clock edge the stored data would be 0101, notice how we insert a zero at the first position, and everything afterwards will be shifted.
At the second clock edge the stored data would be 0010.
At the third clock edge the stored data would be 0001.
At the fourth clock edge the stored data would be 0000 and all the data is shifted successfully.
Shift registers has a load input, which is used to store data in the 4 bits.
So we pull that Load signal HIGH or LOW and we put data on every Flip Flop input, and we latch them with a clock signal, and they will be stored.
What are the applications of shift register?
Many! But maybe the most useful one is in communication. All serial communication protocols use Shift registers to send data on the bus bit by bit. UART, SPI and even I2C are great examples.