A register is a number of flip-flops arranged in a circuit used for storing data. A shift register is one that is designed to move the data along the register. Figure shows a 4-bit register using SR flip-flops.
Assuming the register is cleared and therefore reads 0000 and externally generated word of 1011 is to be stored in the register. The msb is the first bit to be input, which is logic 1. The first register has logic 1 on s, and its q output will change when the clock pulse is active. So after the first clock pulse 1 =1, 2 = 0, 3 = 0 and 4 = 0.
When the second clock pulse is active Q1 will activate S 1 which changes Q2 to logic 1, Q1 will remain at logic 1, as a reset pulse has not yet reset it. Q3 and Q4 will both = logic 0. The third clock pulse resets Q1, as the input is logic 0 (reset = 1), Q2 and Q3 will be at logic 1 and Q 4 will be logic 0.
The final input is a logic 1 so Q1 = 1, Q2 = 0 (Q1 was at logic 0), Q3 and Q4 both have logic 1. So with four clock pulses the register is loaded. It will take four further clock pulses to empty the register.
This type of register is a Serial in - Serial out register. Registers can also be: