ラッチって、そもそもナニ?

はじめに
みなさん、こんにちは!突然ですが、あなたのスマートフォンやパソコン、ゲーム機って、どうやって情報を「覚えて」いるか、考えたことはありますか?私たちが意識しなくても、デジタル機器の中では、たくさんの情報がまるで水のように流れ、そして、必要なところでピタッと「記憶」されています。
今日のお話の主役は、そんな「記憶」の、もっとも基本となる部分を支えている、ちょっと地味だけど超重要な機能、「ラッチ」です。
「ラッチ?それって何かの金具?」と思った人もいるかもしれませんね。たしかに、ドアの金具にも「ラッチ」というものがありますが、今回のお話はデジタル回路のラッチ。これがどんな役割をしているのか、一緒に見ていきましょう!
デジタル回路の「記憶装置の赤ちゃん」
デジタル回路の世界では、すべての情報は「0」か「1」のたった2種類の数字で表されます。電気が通っているか(1)、通っていないか(0)、といった具合です。この「0」か「1」の情報を一時的に、あるいは継続的に覚えておく仕組みがなければ、パソコンは計算結果を忘れてしまいますし、スマホは設定を保存できません。
そこで登場するのが、「ラッチ」です。ラッチは、この「0」か「1」の情報をたった1ビットだけ「記憶」することができる、もっともシンプルな記憶装置の素子なんです。例えるなら、まだ歩けない赤ちゃんだけど、何かをしっかり「覚える」ことができる、そんな存在でしょうか。
合わせて読みたい
「覚えたら、そのまま!」がラッチのすごいところ
では、ラッチって具体的にどうやって情報を覚えるんでしょう?
一番簡単なラッチの一つに、「SRラッチ」というものがあります。「S」はSet(セット)、「R」はReset(リセット)の頭文字です。
想像してみてください。あなたはラッチという箱を持っています。 この箱には「S」ボタンと「R」ボタン、そして「Q」というランプが付いています。
「S」ボタンをプッシュ | 「S」ボタンを一時的に「オン」(押す)にすると、「Q」ランプが「オン」(点灯)します。 そして、「S」ボタンから手を離して「オフ」にしても、なんと「Q」ランプは点灯したままなんです!これが「記憶」です。一度覚えた「1」(オン)を、ラッチはずっと保持してくれます。 |
「R」ボタンをプッシュ | 今度は、「R」ボタンを一時的に「オン」(押す)にしてみましょう。すると、「Q」ランプが「オフ」(消灯)します。 そして、「R」ボタンから手を離して「オフ」にしても、やっぱり「Q」ランプは消灯したまま。これが「0」(オフ)を記憶している状態です。 |
どうでしょう?ラッチは、入力が一度入ると、その状態をずっと「覚えている」という働きをするんです。「一度押したら点灯、もう一度押すまで点灯し続ける」といった、電気のスイッチと同じような振る舞いを、デジタル回路の中でやってくれるわけです。
「フリップフロップ」との違いは?
デジタル回路を少し勉強したことがある人の中には、「フリップフロップ」という言葉を聞いたことがあるかもしれません。「ラッチとフリップフロップって何が違うの?」と思われるかもしれませんね。
簡単に言うと、ラッチは「入力が入るとすぐに状態が変わる」のに対し、フリップフロップは「特定のタイミング(クロックと呼ばれる信号)が来たときにだけ状態が変わる」という違いがあります。例えるなら、ラッチは「いつでもメモを取れる自由な秘書」、フリップフロップは「会議のベルが鳴った時にだけメモを取り始める几帳面な秘書」といった感じでしょうか。
フリップフロップもラッチをベースに作られているので、ラッチはまさに「記憶回路の祖先」と言える存在です。
合わせて読みたい
ラッチはどこで活躍しているの?
こんなシンプルなラッチが、一体どこで使われているのでしょうか?実は、私たちの身の回りにある様々なデジタル機器の中で、縁の下の力持ちとして大活躍しています。
データの保存 | CPU(中央演算処理装置)が計算する時、途中の結果を一時的に覚えておく「レジスタ」と呼ばれる場所に、ラッチやフリップフロップがたくさん使われています。 |
スイッチの安定化 | プッシュボタンなどを押したとき、実はボタンの内部の金属接点が振動して「オン」と「オフ」を細かい時間で何度も繰り返す「チャタリング」という現象が起きます。ラッチを使うと、最初に「オン」になったことを記憶して、その後の細かい振動を無視できるようになり、ボタンの押し間違いをなくすことができます。(※1) |
メモリの基本部品 | 私たちが使っているコンピュータのメモリ(RAMなど)も、ラッチやフリップフロップ、あるいはそれらを応用した素子を何百万、何千万と組み合わせて作られています。 |
※1 チャタリングを回避する機能は、ソフトウエアで実装されることもあります。
合わせて読みたい
まとめ:ラッチはデジタル世界の「記憶の源」
普段、私たちが意識することはありませんが、デジタル回路の最小単位の「記憶」を支えているのが、この「ラッチ」という素子です。たった1ビットの情報を覚えるだけですが、これが何十億個も集まることで、スマートフォンが賢く動き、パソコンが複雑な計算をこなせるようになります。
ラッチは、デジタル回路の仕組みを理解する上で、非常に重要な出発点となる部品です。今日の読み物を通して、「ラッチって、実はすごいヤツなんだ!」と感じていただけたら嬉しいです。