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

- ア FIFO
- イ LFU
- ウ LIFO
- エ LRU
解答・解説を見る
正解:エ
AI解説
正解はエ。LRU(Least Recently Used)は、最後に参照されてから最も長い時間が経過したブロックを置換対象に選ぶアルゴリズムである。表の状態では、C2は最終参照時刻が4つのブロックの中で最も古い(最も長く参照されていない)ため、LRUを採用した場合にC2が置換対象となる。時間的局所性(最近使ったデータは再び使われやすい)を利用した代表的な置換方式である。 ア: FIFO(First-In First-Out)は最初にロードされた(最も古く読み込まれた)ブロックを置き換える方式であり、表の条件ではC2は選ばれない。 イ: LFU(Least Frequently Used)は参照回数が最も少ないブロックを置き換える方式であり、参照時刻ではなく頻度で判断するためC2は選ばれない。 ウ: LIFO(Last-In First-Out)は最後にロードされたブロックを置き換える方式であり、C2は該当しない。 エ: 正しい。LRUは最後の参照からの経過時間が最大のブロックを選ぶため、最終参照が最も古いC2が置換対象となる。 💡 置換アルゴリズムは判断基準で覚える。FIFO=ロード時刻が最古、LRU=最終参照時刻が最古、LFU=参照回数が最少。表のどの列(ロード時刻・参照時刻・参照回数)を見るかを問う問題である。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。