メモリ
RAMとROMなどメモリの種類、キャッシュメモリと記憶階層、ヒット率と実効アクセス時間の計算、SSDなどの記録媒体を理解できるようになります。
ねらい
コンピュータの記憶のしくみを学びます。このレッスンを終えると、メモリの種類と使い分け、記憶階層とキャッシュメモリの考え方、ヒット率を使った実効アクセス時間の計算、記録媒体の特徴を説明できるようになります。
ストーリー
パソコンの製品仕様には「メモリ16GB、SSD 512GB」のように、記憶に関する数字が2つ並んでいます。どちらも「覚える」装置なのに、なぜ2つあるのでしょうか。作業中の書類を広げる机と、書類をしまっておく本棚を思い浮かべてください。机が広いほど同時に作業できる量が増え、本棚が大きいほど多くの資料を保管できます。速いが小さい記憶と、遅いが大きい記憶。この組合せがコンピュータの記憶設計の核心です。
メモリの種類と特徴
半導体で作られたメモリ(ICメモリ)は、まず読み書きの性質で2つに分かれます。
- RAMは、自由に読み書きできるメモリです。電源を切ると内容が消える揮発性です。
- ROMは、読出し専用のメモリです。電源を切っても内容が残る不揮発性です。
RAMはさらに2種類に分かれます。
| 種類 | 特徴 | 主な用途 |
|---|---|---|
| DRAM | 安価で大容量にしやすいが、内容を保つために定期的な再書き込み(リフレッシュ)が必要 | 主記憶 |
| SRAM | 高速でリフレッシュ不要だが、高価で大容量にしにくい | キャッシュメモリ |
また、不揮発性でありながら書き換えもできるメモリがフラッシュメモリで、SSDやUSBメモリ、SDカードに使われています。主記憶のメモリは、DIMMやノートPC向けのSO-DIMMという基板の形で取り付けられます。主記憶装置の内部は、データを保持する記憶部、番地を選ぶアドレス選択機構、読取り書込み機構で構成されます。
記憶階層:速さと容量の両立
速くて大きい記憶装置がひとつあれば理想ですが、速いメモリほど高価です。そこで、速いが小さい記憶と遅いが大きい記憶を階段状に組み合わせます。これを記憶階層といいます。プロセッサに近い側から、レジスタ、キャッシュメモリ、主記憶、補助記憶(SSDやハードディスク)の順に、遅く大きくなっていきます。主記憶と補助記憶の間にも、ディスクキャッシュという緩衝の層が置かれます。
キャッシュメモリと書き込み方式
キャッシュメモリは、主記憶のうちよく使うデータの写しを置いておく高速なメモリです。プロセッサはまずキャッシュを探し、あればそこから高速に読み出します。目的のデータがキャッシュに見つかる割合をヒット率といいます。
キャッシュの内容を主記憶へ書き出す方式は2つあります。
- ライトスルーは、書き込みのたびにキャッシュと主記憶の両方を更新します。内容が常に一致するため単純ですが、書き込みは主記憶の速さに縛られます。
- ライトバックは、まずキャッシュだけを更新し、あとでまとめて主記憶へ書き出します。書き込みが速い反面、一時的に内容の食い違いが生じるため制御が複雑になります。
実効アクセス時間の計算
キャッシュと主記憶を組み合わせたときの平均的なアクセス時間を実効アクセス時間といい、ヒット率を使って計算します。キャッシュのアクセス時間が10ナノ秒、主記憶が60ナノ秒、ヒット率が90%なら、10ナノ秒かける0.9と、60ナノ秒かける0.1を足し合わせて、15ナノ秒になります。ヒット率が高いほど、全体は速いキャッシュの性能に近づきます。
このほか、主記憶を複数のバンクに分けて並行にアクセスすることで高速化するメモリインターリーブという方式もあります。メモリの性能は、読み出しにかかるアクセス時間と、連続して使うときの間隔であるサイクル時間で表します。
記録媒体の種類と特徴
データを長期保存したり持ち運んだりする装置が記録媒体です。
| 媒体 | 特徴 |
|---|---|
| ハードディスク | 磁気ディスクを回転させて読み書きする。大容量で安価 |
| SSD(ソリッドステートドライブ) | フラッシュメモリを使う。可動部がなく高速で衝撃に強い |
| CD、DVD、ブルーレイディスク | 光で読み書きする。読出し専用型、一度だけ書ける追記型、書換型がある |
| USBメモリ、SDカード | フラッシュメモリを使った小型で可搬性の高い媒体 |
| ストリーマ | 磁気テープにバックアップを取るための装置 |
SSDのフラッシュメモリには書き換え回数に上限があるため、特定の場所に書き込みが集中しないように分散させるウェアレベリングという工夫が使われています。また、主記憶の一部をディスクのように使う仕組みをRAMファイルといいます。
例題
次の問いに答えてください。
問1 キャッシュメモリに使われる、高速でリフレッシュ動作が不要な半導体メモリは何ですか。
問2 電源を切っても内容が消えず、書き換えもできる半導体メモリで、SSDやSDカードに使われているものは何ですか。
解答と解説
問1の答えはSRAMです。高速ですが高価で大容量にしにくいため、小さくても速さが求められるキャッシュメモリに使われます。主記憶には、安価で大容量にしやすいDRAMが使われます。
問2の答えはフラッシュメモリです。不揮発性でありながら書き換えができる点が特徴です。同じ不揮発性でもROMは読出し専用です。
応用
本試験を意識した問題を解いてみましょう。
問 キャッシュメモリのアクセス時間が20ナノ秒、主記憶のアクセス時間が120ナノ秒、キャッシュのヒット率が80%のとき、実効アクセス時間はおよそ何ナノ秒でしょうか。次の中から選んでください。
- 24
- 40
- 70
- 100
解答と解説
答えは2の40です。実効アクセス時間は、ヒットした場合とミスした場合の時間を割合で足し合わせて求めます。20ナノ秒かける0.8で16ナノ秒、120ナノ秒かける0.2で24ナノ秒、合わせて40ナノ秒です。1の24はミスした分の24ナノ秒だけを答えてしまった誤りです。3の70は、ヒット率を無視して20と120の単純平均を取った誤りです。4の100は、ヒット率とミス率を逆に適用した誤りで、キャッシュに2割しか当たらない計算になっています。ヒット率は「キャッシュで見つかる割合」であることに注意してください。
分からなかった点・気になった点
読み込み中です。