矢沢 久雄 グレープシティ アドバイザリースタッフ

 基本的な機能のICだけを使って情報を記憶することができます。情報を記憶するとは,ICの出力を同じ情報(0または1)に保つことです。任意の情報を記憶させることもできなければなりません。記録の機能には,基本的なICを組み合せた「ラッチ」と呼ばれる回路が使えます。ラッチ(latch)とは,「かんぬき」という意味です。かんぬきとは,時代劇に出てくるようなお屋敷の門に架ける「つっかえ棒」のことです。0または1の情報を記憶したら,それが変化しないようにかんぬきを架けるわけです。ラッチには,RSラッチとDラッチがあります。今回はRSラッチを紹介し,次回はDラッチを紹介します。ラッチの仕組みがわかれば,デジタル回路の基礎は卒業です。

図1●情報を記録する回路の例

●情報を記憶するとは?

 まず,デジタル回路において情報を記憶するとは,どういうことかを説明しておきましょう。図1[拡大表示]の回路を見てください。四角で囲んだブラック・ボックスの部分に何らかのゲートを組み合せた回路が入っています。内部がどうなっているかは,後ほど説明します。この回路には,SとRという名前の付けられた2つの入力と,1つの出力があります。

図2●回路の内部に1または0の情報が記録される
 デジタル回路が取り扱う情報は,当然のことですが0または1のデジタルな情報です。図1の回路では,入力Sを0から1に変化させると出力が1になり,その後で入力Sが0に戻っても出力は1のままとなります。入力Rを0から1に変化させると出力が0になり,その後で入力Sが0に戻っても出力は0のままとなります。すなわち,SとRの2つの入力によって回路の出力を1または0に固定できるのです。出力が固定できるのは,回路の内部で情報が記憶されているからです。これが,デジタル回路における情報の記憶という動作です(図2[拡大表示])。

●記憶を実現するRSラッチ

 図1でブラック・ボックスとなっていた回路の種明かしをしましょう。情報の記憶を実現するには,ANDゲート,ORゲート,XORゲート,NOTゲート,およびNANDゲートなどの基本的なICを組み合せた,さまざまな方法があります。ここでは,その中でも比較的わかりやすい「RSラッチ」を紹介します。RSラッチのRはResetを意味し,SはSetを意味しています。1という情報を記憶させることがSetであり,それを0に戻すことがResetです。

図3●RSラッチ回路の一例
 RSラッチを作る方法は1つだけではありませんが,ここでは一例を図3[拡大表示]に示しておきます。ORゲートの出力をANDゲートの入力に戻していることがポイントです。入力Sと入力Rには,00,01,10,11の4パターンがあり得ます。回路の中の電気信号の流れ(ゲートを通過したときの0と1の変化)を指で追って,情報を記憶する機能となっていることを確認してみましょう。

 まず,図2のように入力R,入力S,出力が0の状態からスタートします。図3の回路を紙に写して,各ゲートの入力と出力に0または1と書き添えてください。次に入力Sを1にしてみましょう。OR回路の出力は1となり,それがAND回路に戻ってAND回路の出力も1となります。この状態で入力Sを0にしても出力は1のままです。すなわち1が記憶できたのです。今度は,入力Sが0で,入力Rを1にしてみましょう。出力は0になります。この状態で入力Rを0にしても出力は0のままです。すなわち0が記憶できたのです。

●RSラッチを内蔵したIC

図4●4個のRSラッチを内臓した74279の内部
図4●4個のRSラッチを内臓した74279の内部
 RSラッチを実現するには,数種類のゲートが必要になることがわかりました。しかし,複数のICを使うのでは,回路が高価かつ大きなものとなってしまいます。そこで,1個のICの中に数種類のゲートを集積してRSラッチの機能を提供してくれるものがいくつかあります。図4[拡大表示]は,1個のICの中に4個のRSラッチを内蔵した74279です。74279では,NANDゲート2つで1つのRSラッチを作っています。同じ機能を8つのNANDゲート(NANDゲートを4個内蔵した7400なら2個)でも実現できるわけですが,74279を使えば配線の手間が不要になり,ICも1個で済みます(注意:NANDゲートを2つ使ったRSラッチは,入力0を有効と考える負論理になります)。

 74シリーズには,様々な型番のICがありますが,基本となるのはANDゲート(7408),ORゲート(7432),XORゲート(7486),NOTゲート(7404),及びNANDゲート(7400)などであり,その他のICは,基本的なゲートを組み合せた回路を集積して内蔵したものとなっています。LSIと呼ばれる規模まで集積度を上げてれば,プロセッサのような高度な機能も実現できます。そう思うと,コンピュータがより身近なものに感じられるでしょう。

 次回(最終回)は,同じラッチであっても,入力信号をとらえるために使われるDラッチを紹介します。お楽しみに!