第2章 レジスタ

レジスタとは

レジスタとは情報を記憶する電子部品の一種です。フリップフロップとほぼ同じ意味ですが、1つのフリップフロップが1ビットの情報記憶を担うのに対し、1つのレジスタが記憶するbit数に制限はありません。一般には8、16、32、64等の数ビットから数10ビット程度を記憶するレジスタが多いでが、1ビットのレジスタや数百ビットのレジスタも存在します。ですので単に「レジスタ」とある場合、ビット数を明示されているか、暗黙の了解が無い限りそれが何ビットかは判らないことに注意してください。

レジスタとメモリの違い

何千何万(あるいは何億)のレジスタを一つのパッケージに格納した電子部品は一般にメモリと呼ばれます。昔(1970年代)は殆どの半導体メモリはレジスタの集合体でした。しかし現在は、レジスタの集積以外の方法で作られている半導体メモリが主流です。従って「レジスタもメモリの一種ではあるが、電子部品としてのメモリとレジスタは別物」と考えるのが自然です。

1bitのレジスタに必要なピン

1bitのレジスタに必要なピン(配線をするための金属端子)を図に示します。この図は説明のための概念図であり、回路図記号ではありません。また矢印は信号が伝わる方向を示すものであり、電流が流れる方向等を示すものではありません。

電源ピンとGNDピン

電源とGNDはそれぞれ電源のプラスとマイナスへの接続です。素子(IC)に電源を接続するのは「当り前」ですので、正式な回路図では電源ピンは書きません。以後本書でも電源への接続は当り前の事として回路図には記載しません。尚、電源の電圧は使用する素子によって様々ですが、本書ではすべて5Vで駆動する素子を使用するので、電源電圧も全て5Vであるとします。

出力ピン

この素子に記憶されている情報が出力されるピンです。具体的には5V(電源電圧)もしくは0Vが出力されます。デジタル信号の状態を「0/1」で表現するなら、5Vなら「1」、0Vなら「0」が記憶されていることになります。またデジタル信号の状態を「H/L」で表現するならば、信号出力が5Vなら「H」、0Vなら「L」が記憶されていることになります。電源を投入した直後は「0」と「1」(あるいは「H」と「L」)のどちらの状態になるかは保証されません。

入力ピン

この素子に記憶したい情報を入力するピンです。具体的には5V(電源電圧)もしくは0Vを与えます。デジタル信号の状態を「0/1」で表現するならば「1」を記憶したい場合は5Vを「0」を記憶したい場合は0Vを与えます。またデジタル信号の状態を「H/L」で表現するならば、「H」を記憶したい場合は5Vを「L」を記憶したい場合は0Vを与えます。但し実際に記憶されるタイミングは書込信号ピンの状態で決まります。入力ピンの状態を変化させるだけでは記憶内容は変わりません。

書込信号ピン

この素子に記憶を指示する信号を与えるピンです。このピンにどの様な信号を与えると記憶動作が実行されるかは素子によって異なります。RETROF-2020では書込信号ピンに与える電圧が0Vから5Vに変化した瞬間に入力ピンの状態が記憶されるタイプのレジスタを用いました。このタイプは「ポジティブエッジ型」と呼ばれます。逆に5Vから0Vに変化した瞬間に記憶されるタイプは「ネガティブエッジ型」と呼ばれます。この2つ以外にも様々なタイプがありますが、以後本書では特に断りがない限りレジスタは全て「ポジティブエッジ型」であるとします。