データを一時的に記憶させておく回路をレジスタといい、通常、フリップフロップによって作られる。
Dフリップフロップを並列に接続して、
同時に何ビットかのデータをラッチパルスに同期して読み込み
記憶するものである。記憶したデータは新たにラッチパルスが入力されるまで記憶し続ける。
Dフリップフロップを直列に接続すると、
最初のDフリップフロップでラッチされたデータがクロックが立ち上がる毎に右に移る。
1段で1周期の遅延が生じる。
並列入力-直列出力シフトレジスタを下に示す。 最初にスイッチは並列入力側に繋がっている。 この回路ではクロックの立ち上がりで4ビットのデータがそれぞれのフリップフロップ にセットされる。 その後、次のクロックが立ち上がりまでに、スイッチを直列接続側に倒す。 これにより、次のクロックの立ち上がりでは、Q3が出力され、Q2がQ3、Q1がQ2 に移る。 Q1にも新しい入力がセットされるが、この値は関係しない。 フロップが4個の場合、4周期でD3,D2,D1,D0が順番にQ3端子から出力される。 そうすると、スイッチを並列入力側に倒して、同じことを繰り返す。
ここでは分かりやすいように、スイッチを機械的なイメージで描いたが、
後のページで説明するが同じように基本ゲートで構成できるデータ セレクタが使われる。