戻る シフトレジスタ (shift register)



レジスタは、データを一時的に記憶する一種のメモリで、 記憶容量は 8 ビット、16 ビット、32 ビット …等です。

シフトレジスタは、記憶しているデータの桁を左右にシフトさせることができるレジスタです。
CPU の内部には様々なレジスタが使われていますが、 この機能を持ったものが少なくありません。

下図は 8 ビット のシフトレジスタの例です。
矢印のボタンをマウスでクリックする度に、 矢印の方向にデータがシフトします。 シフトした結果シフトレジスタからあふれたデータは、 外部に取り出すことができます。 逆に外部からシフトレジスタに 1 ビットずつ任意のデータを入力することもできます。




(枠内のデータは、 クリックすれば値を変えることができます。)


2 進数 の性質で面白いのは、 たとえば 00011000 (10進数では 24) を左にシフトさせる度に、 48、96 … と 2倍に、 右にシフトさせると 12、6 … と 1/2 になることです。
10進数でも同じように、 たとえば 3450 を左に一桁シフトさせると 34500 となって 10倍、 右に一桁シフトさせると 345 で 1/10 になります。 2進数の基数は 2、 10進数の基数は 10、 桁をシフトさせるとそれぞれの基数倍、 あるいは基数分の1になります。

シフトレジスタの用途は他にもいろいろありますが、 シフトの度に 1 ビット ずつ順にデータを取り出すことができますから、 8 回シフトさせると 8 ビット、 すなわち 1 バイトのデータをシリアルに変換することができます。
これなら 8 ビットの情報でも 1 本の通信回線に乗せることができます。 インターネットでもこのように、 データをシリアルに変換して通信しています。



関連事項:  レジスタ  2 進数 


情報処理概論 に戻る   用語解説 に戻る   戻る  

Java applet 圧縮アーカイブファイル    自由利用マーク
update; 2012.12.27   address