2.記憶回路



2.記憶回路
 (きおく かいろ)


2.1 シーソーみたいなスイッチ(フリップフロップ)
2.2 3極スイッチ(さんきょく すいっち)
2.3 書き込むか書き込まないかを分ける
2.4 複数ビットの記憶(きおく)
2.5 記憶回路の簡略化(かんりゃくか)
2.6 別の記憶に移動


2.1 シーソーみたいなスイッチ(フリップフロップ)



正スイッチや逆スイッチは、電流を流さないと元に戻ってしまいました。

ところが、次のようなスイッチがあります。

    

         図2-1 フリップフロップの原理


すなわち、

A側に電流が流れると、スイッチはA側に引き寄せられ、

RP間がオンになります。


B側に電流が流れると、スイッチはB側に引き寄せられ、

RQ間がオンになります。


どちらにも電流が流れないと止まったままになっています。

電流が流れ出すと,シーソーみたいにパタパタ動きます。


このため、このスイッチは、シーソーという意味の英語


      「
フリップフロップ


と呼ばれます。


フリップフロップは、A,Bともに電流が流れないと、止まったままです。


今、Q側には何もつながず、P側に豆電球をつないでいます。

最初、A、B共にオフだとします。

スイッチはPかQのどちらかにありますが、

Aのスイッチをオンにすると、P側にスイッチが傾きますので、

確実に豆電球が点灯します。

    
     @) A側に電流が流れると,スイッチはP側に引き寄せられ,豆電球がつく。
     A) B側に電流が流れると,スイッチはQ側に引き寄せられ,豆電球が消える。
         図2-2 フリップフロップによる記憶


電流が流れないと、止まったままですから、

スイッチAをオフにしても豆電球はついたままです。


今度は、Bのスイッチをオンにします。すると、スイッチがQ側に傾きます。

Qは豆電球とつながっていませんので消えてしまいます。

Bのスイッチをオフにしても消えたままです。


電流が流れている状態を1、流れていない状態を0としていますから、

Aのスイッチは1を記憶させ、Bのスイッチは0を記憶させることになります。



2.2  3極スイッチ(さんきょく すいっち)



図2-2でA、B両方ともスイッチをいれたら?

両方から引き寄せられて中途半端になってしまします。


記憶で必要なことは、


  @) 0を書き込む
  A) 1を書き込む
  B) 書み込みしない


の3通りですから、もっとも単純には3つの端子をもつスイッチを使います。

    
         図2-3 フリップフロップによる記憶


図2-3で、スイッチがまん中にあったら、

どちらの電磁石にも電流は流れません。

ですから書き込まれません。


スイッチがA側に倒れたら、P側の電磁石に電流が流れ、

1を書き込むことになります。


スイッチがB側に倒れたらQ側の電磁石に電流が流れ、

0を書き込んだことになります。



2.3 書き込むか書き込まないかを分ける



前に述べたように、3つに分ける方法もありますが、

今までの話では、スイッチは必ず0か1でした。


すなわち2通りで済ませてきたのですが、

ここだけ3通りでは、話が複雑になってしまいます。


そこで、書き込むか書き込まないかを、別スイッチにすることにします。

そうすると、書き込むか書き込まないかで2通り。

書き込むときには、0を書きこむか、1を書きこむかの、2通りとします。


すなわち,1ビットメモリの考え方を

図2-4のように,フリップフロップで表現してみます。

             図2-4 スイッチを分けた書込み


図2-4は、ちょっと複雑に見えるかもしれませんが、

スイッチDで書き込む値を指定して、

スイッチCをオンにすると書き込まれます。

スイッチCをオフにすると、スイッチDをオンにしてもしなくても動きません。

[この動きを詳しく知りたい方は,こちらから]

すなわち、スイッチDは書き込むデータ、

スイッチCは,書き込むかどうかを示すスイッチとなります。

[この動きを詳細に知りたい方は,こちらから]

図2-4は,複雑ですので,

例によって、単純化した記号を使うことにします。


電源を省略し、入力と出力の2本線をひとつにします。

図2-4の点線枠内をひとつの箱(1ビット記憶)で示し、

D、C、R端子を記号で指定します。


ここで,D端子を「書込みデータ端子」、C端子を「書込み制御端子」、

R端子を「読込みデータ端子」等と呼ぶことにしましょう。

     

       図2-4 記憶回路の単純化表現



2.4 複数ビットの記憶



今、2個のビット記憶があります。


データをどちらに書き込むかを指定するには、

書き込むビット記憶のC端子をオン(1)にし、

そうでないビット記憶のC端子をオフ(0)にすれば、

区別することができます。

       

        図2-5 2個のビット記憶の書込み


ビット記憶を4個にしてみましょう。

4個のどれかを指定するには、Aのスイッチを増やして、

4種類を指定するようにします。


4種類を指定するには、2個のスイッチを使います。

             図2-6 4種類分離


図2-6と4個のビット記憶を組み合わせると、

4個のビット記憶の中からひとつを選んで書き込むことができます。

         
         図2-7 ビット記憶4個のどれかに記憶


A0とA1で4個のビット記憶どれかを選択していることになりますから、

4個のビット記憶に対して、

番地(アドレス)付けを行っていることになりますから、

A0, A1をアドレスと呼びます(この場合は2ビットアドレス)。


図2-6は、アドレスから書込み制御信号を生成していることになります。

更に、書込みを番地(A0, A1)と

書き込むデータ(In)の組で表現できたことにもなります。


同様に、図2-6の回路を使って、

ビット記憶のR端子からのデータも番地と値の組で表現できます。


     
      図2-8 読込みデータ端子からのデータ取出し


図2-8のC0〜C3では、いずれかが1、その他は0になっています。

ですから1とAND演算したビット記憶だけのデータだけが有効となり、

その他はすべて0となります。


これらを、すべてOR演算するとA0、A1で指定されたビット記憶の

RがOut信号となります。


さて、4個以上になったらどうなるのでしょうか。

一例として16個の場合を示してみよう。

16個の場合、2×2×2×2=16ですから、

図2-9のように、4ビットのアドレス(A0, A1,A2,A3)を使います。


このように、アドレスから書込み制御端子用の信号に変換する場合は、

AND素子とNot素子を配列状に並べた形になります。


この出力C0〜CFを、

図2-7と同じように16個のビット記憶の書込み制御端子に連結します。


更に、図2-8と同じようにAND素子、OR素子と連結することによって、

アドレス線によるビット記憶の参照ができます。

        
      図2-9 ビット記憶16個のアドレス(4ビットアドレス)



2.5 記憶回路の簡略化



図2-6、図2-7のように1個1個の素子を描いていると大変です。

そこで、更に単純化した図を使います。

書込み用のアドレス線、読込み用のアドレス線、

書込み用のデータ線(In)、読込み用のデータ線(Out)を除く部分を

ひとつのボックスで示します。

以下、これをアドレスつきビット記憶と呼ぶことにします。

    
   図2-10 記憶回路の簡略化(ビット記憶4ビットアドレスの場合)

コンピュータでは、

1ビットではなく8ビット(1バイト)などの単位で扱いますので、

図2-10のような簡略化図で描くと、

図2-11のようにまとめて取り扱われます。

アドレスも16ビット、32ビットと長くなります。


     
          図2-11 バイト記憶4ビットアドレス



2.6 別の記憶に移動



図2-12のように、

アドレスつきビット記憶MのOut、

最も単純なビット記憶Xのデータ端子を連結し、

XのC端子にタイミングスイッチをつけてみよう。

  @) まず、タイミングスイッチをオフ(0)としておく。
  A) 読込みアドレスを設定する。
  B) タイミングスイッチをオン(1)にする。
     タイミングスイッチをオンにすると、
     Mの該当するアドレスのデータが、Xに移動することになる。

        
            図2-12 記憶の移動その1

逆に、図2-13(a)のようにアドレ付きビット記憶に、

タイミングスイッチを用意します。


単純なビット記憶のR端子と、

拡張されたアドレスつきビット記憶MのInをつなぎ、

タイミングスイッチを用意します。


書込みアドレス線にアドレスをセットして、

タイミングスイッチをオンにすると、

R端子からデータが移動することになります。

      
         
(a) アドレスつきビット記憶の拡張

       
        
(b) 単純ビット記憶からアドレスつきビット記憶への移動

             図2-13 記憶の移動その2


以上は、メインメモリとCPU内のレジスタとの転送の原理です。

すなわち、アドレスに値を設定して、専用のスイッチをオンにすることで、

メインメモリとレジスタの転送がなされるわけです。





第1編 コンピュータの原理

1. コンピュータは計算機

2.コンピュータに必要な機能

第2編 論理回路の話

1.豆電球による論理回路

2.スイッチによる論理回路

3.論理回路図の単純化

第3編 コンピュータの回路

1.加算回路と減算回路

2.記憶回路

3.順序回路


途中から,はじめるには
上の下線部をクリックします。