令和7年度 秋期 応用情報技術者試験 午前 問19
4ブロックのキャッシュメモリ C0〜C3 が表に示す状態である。ここで,新たに別のブロックの内容をキャッシュメモリにロードする必要が生じたとき,C2のブロックを置換の対象とするアルゴリズムはどれか。

図の説明テキスト
| キャッシュメモリ | ロード時刻(分:秒) | 最終参照時刻(分:秒) | 参照回数 |
|---|---|---|---|
| C0 | 0:00 | 0:08 | 10 |
| C1 | 0:03 | 0:06 | 1 |
| C2 | 0:04 | 0:05 | 3 |
| C3 | 0:05 | 0:10 | 5 |
解答・解説
正解: エ. LRU
キャッシュメモリの置換アルゴリズムとは
キャッシュメモリが満杯のときに新しいデータを読み込む際、既存のどのデータを追い出して(置換して)空きを作るかを決定するルールのことです。ロードされた時刻、最後に参照された時刻、参照された回数などを基準にして対象を選びます。
正解の根拠
キャッシュメモリの状態を表で確認し、各基準における特徴的なブロックを整理します。
- ロード時刻が最も古いのは C0(0:00)、最も新しいのは C3(0:05)です。
- 最終参照時刻が最も古いのは C2(0:05)です。
- 参照回数が最も少ないのは C1(1回)です。
問題において置換対象となっている C2 は、最終参照時刻が最も古いブロックです。最後に参照されてからの時間が最も長いものを追い出す方式は LRU に該当します。
したがって、正解はエです。
各選択肢の解説
ア: FIFO (First-In First-Out) は、最も古くロードされたブロックを置換対象とするアルゴリズムです。この方式では、ロード時刻が最も古い C0(0:00)が対象となります。
イ: LFU (Least Frequently Used) は、参照回数が最も少ないブロックを置換対象とするアルゴリズムです。この方式では、参照回数が最も少ない C1(1回)が対象となります。
ウ: LIFO (Last-In First-Out) は、最も新しくロードされたブロックを置換対象とするアルゴリズムです。この方式では、ロード時刻が最も新しい C3(0:05)が対象となります。
エ: LRU (Least Recently Used) は、最後に参照されてからの時間が最も長い(最も過去に参照された)ブロックを置換対象とするアルゴリズムです。この方式では、最終参照時刻が最も古い C2(0:05)が対象となります。