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


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

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

下図は 8 ビット のシフトレジスタの例です。





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

矢印のボタンをマウスでクリックする度に、 矢印の方向にデータがシフトします。
シフトした結果、 シフトレジスタからあふれたデータは外部に出力されます。
逆に、 外部からシフトレジスタに、 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本の通信回線に乗せることができるので、 インターネットの情報なども、 このようにシリアルに変換して通信されています。



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

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