メモリとは
メモリは、アプリやファイルを開いたときに一時的に保存される作業領域です。
コンピュータが行う計算などの処理はCPUが担い、必要なデータはディスクからロードしますが、計算前のデータや計算結果データは高速なメモリの領域を使用するのです。
メモリは主記憶装置というのが正式名称です。
最近ではUSBメモリもありますし、キャッシュメモリ(後術)もメモリの一部ではありますので、単に「メモリ」と言う場合は主記憶装置のことと認識しましょう。
メモリについて簡単な例で説明します。
ストレージには学生のテスト結果を計算する「アプリ」と、テスト結果の「データ」が格納されています。

テスト結果から合計と平均を計算するために、アプリとデータをメモリに読み込みます。

メモリに読み込んだアプリをデータをCPUに渡して計算結果をメモリに格納します。

メモリの種類:SRAMとDRAM
名称 | 速度 | 集積度 | 価格 | 用途 |
---|---|---|---|---|
DRAM | 遅い | 高い | 安い | メモリ(主記憶装置) |
SRAM | 早い | 低い | 高い | キャッシュメモリ |
キャッシュメモリ
キャッシュメモリは、CPUとメモリ間のボトルネックを軽減する役割を果たしています。
昔のコンピュータは、キャッシュメモリがマザーボードに取り付けられることもありましたが、現在ではほとんどのキャッシュメモリはCPUの一部として統合されています。
キャッシュメモリの格納方式
フルアソシアティブ方式
フルアソシアティブ方式はキャッシュメモリに格納する場所を空いている領域に保管します。
空いている領域を順に探すので速度面で劣ります。

ダイレクトマップ方式
ダイレクトマップ方式はキャッシュメモリの格納場所を計算で決めます。

セットアソシアティブ方式
セットアソシアティブ方式は、キャッシュを複数の「セット」に分け、各セットに複数の「ブロック」を持たせます。
メモリのアドレスが来ると、そのアドレスがどのセットに入るかが決まりますが、セット内には複数の位置(ブロック)があり、どの位置に格納するかは自由に選べます。
このため、完全に固定された位置にデータを格納する「直接マッピング」と比べて、柔軟性が増します。
キャッシュメモリのアクセス時間
キャッシュメモリのアクセス時間が主記憶のアクセス時間の 1 / 30 で,ヒット率が95 % のとき,実効メモリアクセス時間は,主記憶のアクセス時間の約何倍になるか。
- 主記憶のアクセス時間をxとする。
- キャッシュメモリのアクセス時間は、1/30
- 実効メモリアクセス時間を求めます。(主記憶とキャッシュメモリを使った場合のアクセス時間)
・主記憶アクセス時間 : 1/30 × 0.95x
・キャッシュメモリアクセス時間 : (1 – 0.95)x
・実効アクセス時間は、主記憶アクセス時間 + キャッシュメモリアクセス時間なので
1/30 × 0.95x + (1 – 0.95)x
= 1/30 × 0.95x + x – 0.95x
≒ 0.081666x - よって、実効メモリアクセス時間は,主記憶のアクセス時間の約0.08倍です。
コメント