読むだけでいい基本情報技術者試験対策10:記憶装置1ーメインメモリとキャッシュメモリ
今回からは記憶装置について学んでいきます。
まずはメモリというものは何かというところから始まりますが、その前に、
メモリ と ストレージ は全く違うものであることに気をつけましょう。
これからやるメモリとは、CPUが処理する内容を「一時的に」記憶しておくための装置です。CPUには制御機能、処理機能がありますが、処理することや処理した結果を覚えておくことはできません。処理している間CPUの記憶の補助をするのがメモリの役割です。ですので、容量はストレージに比べるとかなり小さいですし、処理が終わったり、電源を切ったりするとメモリは記憶を失います。その代わり、アクセスの速さはストレージよりもずっと高速です。
対してストレージ、補助記憶装置とも言ったりしますが、これは電源を切っても記憶を失わない性質があります。ストレージは容量が大きいですが、メモリよりもアクセスは遅いです。
メモリには2種類あり、メインメモリとキャッシュメモリがあります。
まず、メインメモリについてお話しましょう。
メインメモリには後述する、DRAMというものが使われています。メインメモリは容量が比較的大きいという特徴がありますが、アクセス時間があまり早くありません。CPUが処理する時間のほうが圧倒的に速いため、待ち時間が生じてしまいます。もしすべての処理をメインメモリのみで行っていたら処理能力はかなり落ちるでしょう。
そこで、考え出されたのが、、
キャッシュメモリというものです。
キャッシュメモリは小容量ですが、メインメモリより高速です。この特性を生かして、
メインメモリ→→キャッシュメモリ→→CPU
↘→→→→→→→→→→↗
というようにCPUとメインメモリの間にキャッシュメモリを置きます。メインメモリから読み込んだデータをキャッシュメモリに保持しておき、もし同じデータが要求されたら、即座に取り出せるようにしたものです。
このキャッシュメモリを数個連結させて他レベルの階層構造を構築することで、CPUとメモリの時間のギャップを埋める効果はより上がります。CPUがアクセスする順番によって1次キャッシュ、2次キャッシュと呼ばれます。
このキャッシュの考え方は実はウェブブラウザにも応用されています。
履歴を見ると、キャッシュという欄を見つけることができると思いますが、これは一度訪れたウェブページのデータをキャッシュに記録しておき、再度訪れた際に読み込み時間を縮めることができます。
しかし、キャッシュもデータなので、これが大きすぎるとウェブブラウザの挙動に支障をきたすことがあるので、定期的に消すと動きが軽くなることが知られています。
このように、動作の速度に差がある装置間の差を埋める働きをするものをバッファといいます。
実は記憶装置に関してはもう一種類知っておかないといけないものがあります。それは、デスクキャッシュというものです。これはメインメモリとストレージの間のアクセス時間を補うためにキャッシュメモリのような位置づけで設置されるものです。PCのストレージはハードディスクなどが使われていることが多いですが、これはアクセス時間がメモリに比べて低速です。そのため、デスクキャッシュというものが置かれます。ハードディスクの一部を使用する場合、メインメモリのいち部を使用する場合の2種類があります。
次はこのメインメモリとキャッシュメモリについて、使われてる半導体などの踏み込んだ話をしていきます。