平成29年度 春期 午前 問16
コンピュータ構成要素
キャッシュメモリに関する問題
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
解説
最終参照時刻が最も古いので LRU が選びます。
設問は、四つのブロックの状態を示した表を与え、C2 が置換の対象になるアルゴリズムを選ばせています。表の三つの列が、そのまま四つの候補の物差しになっています。ロード時刻はいつ入ったか、最終参照時刻は最後に使ったのがいつか、参照回数は何回使ったかです。C2 の行だけを見るのではなく、四つの候補がそれぞれ選ぶブロックを実際に出すのが確実です。最終参照時刻は C0 が 0 分 08 秒、C1 が 0 分 06 秒、C2 が 0 分 05 秒、C3 が 0 分 10 秒で、最も古いのは C2 です。最も長く使われていないものを追い出す LRU が、これに当たります。残る三つは別々のブロックを指し、重なりも欠けもありません。
ほかの選択肢はなぜ違うのか
- アFIFO:先に入ったものから順に追い出す規則です。ロード時刻が最も古いのは 0 分 00 秒の C0 なので、追い出されるのは C2 になりません。
- イLFU:使われた回数が最も少ないものを追い出す規則です。参照回数は C1 が 1 回で最少、C2 は 3 回なので、選ばれるのは C1 のほうです。
- ウLIFO:後から入ったものを先に追い出す規則です。ロード時刻が最も新しいのは 0 分 05 秒の C3 なので、これも C2 には当たりません。
この問題の用語
- キャッシュ一度取り寄せた内容を手元に置いて、次から早く使えるようにする仕組み。CPUとメモリの間や、ブラウザ、DNSなど、さまざまな場所で使われます。
- アルゴリズム問題を解くための、決まった手順や考え方そのものです。同じ問題でも手順によって、処理にかかる時間や必要な記憶量が変わります。
出典:平成29年度 春期 応用情報技術者試験 午前 問16(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)