- 発行日 2024年1月18日
- 最終変更日 2026年6月10日
- 5 分
シフトレジスタとは?接続方式別の種類と仕組みを解説
シフトレジスタとは、入力されたデータをレジスタ内で順番に移動させるデジタル回路です。主に、シリアル信号とパラレル信号の変換などに使われます。この記事では、シフトレジスタの用途や、SISO・SIPO・PISO・PIPOなど接続方式ごとのシフトレジスタの種類について解説します。

シフトレジスタとは
シフトレジスタは、複数ビットのデータを一時的に保持し、クロック信号に同期してデータを1ビットずつ順番に移動させるデジタル回路です。シリアルデータとパラレルデータの変換などに使われ、デジタル回路設計で広く利用されています。
シフトレジスタは、複数のフリップフロップを連結して構成されます。各フリップフロップが1ビットの情報を保持することで、複数ビットのデータを一時的に保存し、処理できます。クロック信号に同期して、データは1つのフリップフロップから次のフリップフロップへ順番に移動(シフト)します。
シフトレジスタの主な機能は、データの一時保存と順次転送です。特に、シリアルデータとパラレルデータの変換でよく使用されます。これにより、少ない配線で複数ビットのデータを扱いやすくなり、システム設計ではデータ伝送ラインの削減や回路構成の簡略化にも役立ちます。
シフトレジスタの用途
シフトレジスタの用途は、主にシリアル信号とパラレル信号の変換です。シリアル信号は配線数を抑えやすいため、デジタル回路でよく使われています。シフトレジスタは、こうした信号形式の変換に加え、データの一時保存や遅延処理にも利用されます。
データの一時保存や信号処理だけでなく、クロック数に応じてデータを遅延させる用途など、さまざまな用途に使用されます。例えば、リングカウンタ、ジョンソンカウンタなどのカウンタ回路にも応用されます。リングカウンタやジョンソンカウンタは、一定の順序で信号を出力する回路です。また、制御回路と組み合わせることで、LEDの点灯制御など、信号を順番に出力する用途にも使われます。
シフトレジスタは汎用性が高く、通信システム、コンピュータネットワーク、データ処理装置、さらには電子楽器や表示装置など、幅広い電子機器に組み込まれています。
接続方式ごとのシフトレジスタの種類
シフトレジスタは、入力方式と出力方式の組み合わせによって分類されます。代表的な方式には、SISO、SIPO、PISO、PIPOの4つがあります。
直列入力直列出力形(SISO)
直列入力直列出力形(SISO)のシフトレジスタは、シフトレジスタの基本形態の一つです。この形式では、データはシリアル(直列)形式で入力され、クロック信号のたびに1ビットずつ順番にシフトされます。シフト方向は回路構成によって決まり、左方向または右方向にデータを移動させる構成があります。
SISOシフトレジスタでは、各フリップフロップが1ビットのデータを保持します。フリップフロップを複数連結することで、例えば4つのフリップフロップを使う場合は、4ビットのデータを扱うシフトレジスタを構成できます。入力されたデータは、クロック信号に同期してシフトレジスタ内を順番に移動し、最終段から出力されます。
通常のSISOシフトレジスタでは、新しいデータが入力されると、保持されていたデータは次の段へ移動し、最終段のデータは順次出力されます。必要に応じて、出力データを別の回路で保持したり、再利用したりする設計も可能です。
このようなSISOシフトレジスタは、デジタル信号処理やデータ転送において、シンプルな構造でデータを直列に転送したい場合に使われます。構造と動作原理が比較的分かりやすく、電子回路の基本的な要素として広く利用されています。
直列入力並列出力形(SIPO)
直列入力並列出力形(SIPO)のシフトレジスタは、シリアルデータを受け取り、パラレル形式で出力する方式です。このタイプでは、入力データを1ビットずつ順番に受け取り、各ビットをフリップフロップに保持します。データはクロック信号に同期して順番に移動し、レジスタのビット数分のデータがそろった段階で、各段のデータを並列に出力できます。
SIPOシフトレジスタの主な機能は、シリアルデータをパラレルデータに変換することです。シリアル入力をパラレル出力へ変換することで、少ない信号線で受け取ったデータを複数ビットのデータとして扱えます。これにより、配線数を抑えつつ、後段の回路でデータを扱いやすくなります。
特に、データ通信やデジタル信号処理の分野でSIPOシフトレジスタはよく使われます。例えば、シリアル通信で受け取ったデータを、別の回路で並列に処理したい場合などに利用されます。
並列入力直列出力形(PISO)
並列入力直列出力形(PISO)のシフトレジスタは、パラレル形式の複数ビットのデータを一度に受け取り、それをシリアル形式で出力する方式です。この形式では、一度に複数のビットがロードされ、その後、クロック信号に同期して順次シリアル形式で出力されます。
このタイプのシフトレジスタには、データの書き込みとビットのシフトを制御するための仕組みが必要です。一般的には、制御信号によってパラレルロードとシフト動作を切り替え、クロック信号に同期してロードまたはシフトを行います。ロードされたデータは、クロックごとに1ビットずつ順番に出力されます。
PISOシフトレジスタは、パラレル信号をシリアル信号に変換する際に使われます。特に、データ通信やデジタル処理において、複数ビットのデータを1本のシリアル信号として送信したい場合に役立ちます。この機能は、配線数を抑えながらデータを効率よく送信したい回路で広く用いられています。
並列入力並列出力形(PIPO)
並列入力並列出力形(PIPO)のシフトレジスタは、入力と出力の両方にパラレル形式を使用する方式です。この方式では、複数のビットが同時にシフトレジスタにロードされ、クロック信号に同期して各ビットを同時に保持します。保持されたデータは、各段の出力から並列に取り出せます。このタイプのシフトレジスタは、特定の情報を同時に保持し、必要に応じて一斉に出力するために利用されます。
PIPOシフトレジスタは、例えば一時的なデータ保持やデータバッファリングなど、複数のデータを同時に処理する必要がある場面で使われます。これにより、データの一時保持が容易になり、データの整合性や処理効率の向上に役立ちます。また、このタイプのシフトレジスタは、情報の一括処理や複数の信号の同期処理にも有効です。
そのため、PIPOシフトレジスタは、同時に多くのデータを扱うデジタルシステムで、データの一時保持や並列処理を補助する回路として使用されます。
まとめ
シフトレジスタは、データのシフトや信号形式の変換を行うことで、少ない配線で複数ビットのデータを扱いやすくする回路です。
シフトレジスタは、主にシリアル信号とパラレル信号の変換に使われます。その他、遅延回路やデータのシフト処理にも使用されます。
シフトレジスタの種類は、入出力それぞれの接続方式によって、直列入力直列出力形(SISO)・直列入力並列出力形(SIPO)・並列入力直列出力形(PISO)・並列入力並列出力形(PIPO)の大きく4つに分類できます。
シフトレジスタは、接続方式に応じてさまざまな用途で利用され、デジタル回路の信号処理を効率的に支える回路として機能します。


