4 シフトレジスタ回路
シフトレジスタは、レジスタ(簡単なメモリ)をシフト(桁送り)するものである。
例として電卓を考える。
今、電卓のキーを7、5、3と押すと、その表示は次のように変わっていく。
操作 | 表示 |
@キーを押す前 | 0000 |
A7を押した時 | 0007 |
B5を押した時 | 0075 |
C3を押した時 | 0753 |
キーを押すごとに、キーの数字が表示の最下位に入り、それと同時にそれまでの最下位の桁の数字が一つ上位の桁に、またその他の桁の数字もそれぞれ一つ上位の桁に移っていく。
この例の動作をおこなう回路を下図に示す。
図において、キースイッチから入力される数字(0〜9)はエンコーダ回路においてBCDコードに変換されシフトレジスタに送られる。
同時にタイミング回路によってシフトイネーブル(シフト動作を行わせる)信号が各シフトレジスタに送られ、シフトレジスタはBCDデータを取り込む。
ここにタイミング回路は0〜9のいずれかのキーが押された時にパルスを発生する回路で、例えば、OR回路とワンショット回路を組み合わせて作ることができる。
例において、各シフトレジスタは4ビットを同時に桁送りするが、このようなシフトレジスタはパラレル入力型と呼ばれる。
例えば、10×7(=70)を2進数で計算すると、次のようになる。
1010 | ・・・@ | (=10) |
×)0111 | ・・・A | (= 7) |
| |
1010 | ・・・B | (=1010×0001) |
10100 | ・・・C | (=1010×0010) |
+)101000 | ・・・D | (=1010×0100) |
| |
1000110 | ・・・E | (=70) |
ここに、B〜Dは、1010をそれぞれ1倍、2倍、4倍するものであるが、結果は2のべき数桁すなわち0桁、1桁、2桁シフトしたものとなっている。
一般に、2進法では2NはN桁のシフトによって行われる(10進法でももちろん原理は同じ)ためここにもシフトレジスタが用いられる。
例において、シフトレジスタは1ビット単位に桁送りするが、このようなシフトレジスタはシリアル入力型と呼ばれる。
なお、シリアル入力型では、シフト方向が左(桁上がり)と右(桁下がり)のものがある。
シフトレジスタの機能を表わすパラメータとその表示方法を下図に示す。
パラメータ | 表示方法 |
ビット数 | 矢印右側数字 |
右シフト(シリアル入力) | 右方向矢印 |
左シフト(〃) | 左方向矢印 |
パラレル入力 | 縦方向矢印(上半分) |
パラレル出力 | 縦方向矢印(下半分) |
表示例は、TTLの74194である。
74194は、4ビットのシフトレジスタとして代表的なものであり、また多機能である。
74194のピン配列および論理表を下図に示す。