令和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- アFIFO
- イLFU
- ウLIFO
- エLRU
答えと解説を見る
✓ これが正解エLRU
解説
最終参照時刻が最も古いものを捨てます。
この設問は、四つのキャッシュブロックの状態が表で与えられたときに、新たなブロックを載せるために C2 を置換の対象とするアルゴリズムはどれかを尋ねています。ですから見分けの軸は、四つの方式それぞれが表のどの列を見て捨てる相手を決めるのかを、先に整理してから当てはめられるかという一点だけです。FIFO はロード時刻の古いものを選ぶので C0、LFU は参照回数の少ないものを選ぶので C1、LIFO はロード時刻の新しいものを選ぶので C3 となります。残る LRU は最終参照時刻の古いものを選ぶ方式で、この列の値は C0 が 0:08、C1 が 0:06、C2 が 0:05、C3 が 0:10 ですから、最も古い C2 が選ばれます。C2 はロード時刻で見れば C0・C1 に次ぐ三番目の古さ、参照回数で見れば C1 に次ぐ二番目の少なさという中途半端な位置にあり、列を決めずに眺めると迷いますが、方式ごとの見る列を先に固定すれば揺れません。したがって答えは LRU です。
ほかの選択肢はなぜ違うのか
- アFIFO:FIFO を選ぶとロード時刻が最も古いブロック、つまり C0 が置換の対象になります。設問が置換の対象と定めている C2 とは違うブロックが選ばれるので、この方式は当てはまりません。
- イLFU:LFU を選ぶと参照回数が最も少ないブロック、つまり C1 が置換の対象になります。この方式は使われた頻度で捨てる相手を決めるものなので、時刻の古さで捨てる相手が決まる C2 とは選ばれるブロックが噛み合いません。
- ウLIFO:LIFO を選ぶとロード時刻が最も新しいブロック、つまり C3 が置換の対象になります。新入りから捨てるという向きの方式で、時刻の古さの中でも最終参照時刻を見て C2 を選ぶ方式とは、判断の基準そのものが違います。
この問題の用語
- キャッシュ一度取り寄せた内容を手元に置いて、次から早く使えるようにする仕組み。CPUとメモリの間や、ブラウザ、DNSなど、さまざまな場所で使われます。
- アルゴリズム問題を解くための、決まった手順や考え方そのものです。同じ問題でも手順によって、処理にかかる時間や必要な記憶量が変わります。
出典:令和7年度 秋期 応用情報技術者試験 午前 問19
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)