電気がなくてもデータは消えない、メモリ技術の最新事情「ムーアの法則」を超える新世代コンピューティングの鼓動(1/3 ページ)

前回は現在のコンピュータのアーキテクチャが抱える問題点とその回答の1つとして新しいアーキテクチャを紹介しました。今回は特にポイントとなる記憶領域について、詳しく解説します。

» 2016年12月02日 08時00分 公開

 約60年間変わっていないコンピュータのアーキテクチャの一つに、階層化された記憶領域があります。CPUにSRAM(Static Random Access Memory)で構成されたキャッシュがあり、DRAM(Dynamic Random Access Memory)で構成されたメインメモリあるいは主記憶装置と呼ぶもの、そしてSSD(Solid State Drive)やディスクで構成された外部記憶装置あるいは補助記憶装置、さらにテープ装置などが接続されている、というのが今日のコンピュータのよくある形です。

次世代コンピューティング 約60年間変わっていないコンピュータの構造(略図)

 なぜこのようになっているのでしょうか。理由の1つは、電源を失うとデータが失われてしまうため、データを永続化する仕組みが必要だからです。もう1つの理由は、SRAMやDRAMの容量単価が高いため、全てのデータをより安価な外部記憶装置に置く必要があったためです。

 このような理由で階層化された記憶領域には、当然ながらアクセス速度に大きな差があり、容量単価が安くなればアクセス速度が遅くなります。その差は非常に大きいものです。

 アクセス速度の違いがどれぐらい大きなものか、実社会の距離に例えてみましょう。仮に、プロセッサ内の処理に必要な1ナノ秒を1メートル歩く時間とします。

次世代コンピューティング データアクセスにかかる時間を実社会に置き換えたらこうなります

 キャッシュに使われるSRAMは、5メートルほどの距離の移動に相当し、小幅で歩いても9歩程度の時間で済みます。メインメモリに使われるDRAMは、100メートルになります。やや時間はかかりますが、まだ現実的といえる範囲だと思います。今後、外部ストレージの主流になるSSDはどうでしょうか。距離にすると200キロほどになります。休まず歩いても4日になりますので、これぐらいの距離になれば、移動は自動車などの道具に頼ることになります。ディスクでは実に1万キロもの距離の移動に匹敵し、もはや飛行機に乗る距離です。テープについては、言わずもがなでしょう。

 このように外部記憶装置のアクセス速度を高めるには、何らかの道具が必要になることが分かります。このため、これらのデバイス上にあるデータにアクセスするには、高速にアクセスするための仕組みが必要であり、キャッシュのようなものが必要とされる理由です。

 CPUの速度に合わせるためのキャッシュはCPUキャッシュですが、DRAM上にもそれより圧倒的に低速な外部記憶装置のデータを扱うためのキャッシュが存在します。例えば、ファイルシステムのバッファキャッシュの場合、アクセス頻度の高いものや現在使用されているファイルは子のバッファキャッシュに置かれ、高速にアクセスできるようになります。

 しかし、新たに別のファイルが必要になった場合はどうでしょうか。そのファイルは外部記憶装置から読み出されてキャッシュに載ります。このデータはDRAM上にあります。このままでは電源が失われてしまえば、データの中身が損なわれます。したがってキャッシュに載っているものは、永続性を保つために定期的に外部記憶装置に書き出される機構が含まれます。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ