DRAM
少しずつ水がもれる紙コップに、休みなく水を注ぎ足しながら記憶をつなぎとめている部品です。
定義 電源が入っているあいだだけデータをつかまえておく、コンピューターの作業用メモリです。とても小さなマスひとつひとつに電気を少しずつためて、0と1を覚えます。ところがこの電気は勝手にもれ出ていくので、中身がぼやける前に注ぎ足し続ける、というやり方で動いています。
水がもれる紙コップで文字を書くとしたら
机の上に小さな紙コップを並べて、ルールを一つ決めてみましょう。水が入ったコップは1、空のコップは0です。コップをずらっと眺めるだけで、自分が書いておいた中身をそのまま読み返せます。
ところが、このコップには目に見えないほど小さな穴が開いています。水を満たしておいても、時間がたつと少しずつもれ出ていきます。しばらくして見直すと、このコップが1だったのか0だったのか分からなくなってしまいます。
DRAMは、まさにこういうコップを爪ほどの板の上に何億個も並べた部品です。コップ一つが0か1を入れるマス一つにあたり、コップに入っているのは水ではなく、ごくわずかな電気です。
コップ一つに入るのは、0か1のどちらか一つだけです。文字を一つ書くのにもコップがいくつも要りますし、写真が一枚あれば数えきれないほどのコップが要ります。メモリの容量が大きいというのは、このコップをそれだけたくさん敷きつめてある、という意味です。
もれるコップを、なぜわざわざ使うのでしょう?
もれるコップは、一見すると不便そうです。でもこのコップは作りがとても単純なので、小さく作れます。同じ広さの机の上に、ずっと多くのコップをぎっしり置けるわけです。
おかげで、値段が安いのに入れておける量が大きくなります。だからコンピューターはDRAMを「いま取りかかっている仕事を広げておく作業机」として使います。ゲームを立ち上げたり写真を加工したりするときに要るデータが、この机の上に上がってきます。
机の上にあるデータは、取り出すのも速いです。コップがどこにあっても、目当ての場所をすぐに指させるように住所が振られているからです。
机が狭いと、データを引き出しから出したりしまったりするために何度も待たされます。引き出しを頻繁に開け閉めしていた状況なら、メモリの容量を増やしたときにコンピューターが目に見えて速くなります。机を広げてやったのと同じ効果です。
もう少し正確に言うと
では、もれるコップの中身はどうやって守られるのでしょうか。コンピューターは水がすっかりもれてしまう前に、コップを順番になぞりながら中身を読み、読んだとおりに注ぎ直します。この注ぎ直しをリフレッシュと呼びます。
まばたきするあいだにも、この注ぎ直しが休みなく繰り返されています。DRAMの名前に入っている「ダイナミック(動的)」という言葉も、そのままにしておくと中身が保たれないという意味なのです。
ですから電源を抜けば、コップの水はすぐ消えてしまいます。保存しておいた写真がコンピューターの電源を入れ直しても残っているのは、その写真がDRAMではなくストレージに書かれているからです。作業机と引き出しは、役割の違う場所なのです。
🤔 よくある誤解
メモリの容量が大きければ、写真やファイルをその分たくさん保管できる。
DRAMは電源が切れると中身が消える作業スペースです。写真や文書を長く保管する場所はストレージなので、二つの部品は容量を増やす目的がそれぞれ違います。
メモリに載ったデータは、電源さえ入っていればそのままにしておいても残る。
マスごとにためた電気が少しずつもれ出ていくので、休みなく注ぎ足してこそ中身が保たれます。この注ぎ直しが止まると、電源が入っていても中身はぼやけてしまいます。
🧺 日常で出会う場面
電気をためた何億個ものもれるコップを休みなく注ぎ直しながら、コンピューターがいま取りかかっている仕事を広げておく作業机の役割をはたします。