本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成21年度 技術士第一次試験問題【専門科目】

W−12

ある計算機が16個の32バイトからなるブロック (M0〜M15) で構成されている主記憶を持っているとする。この計算機は、4個の32バイトからなるブロック (C0〜C3) で構成されるキャッシュを持っており、次のようなセットアソシアティブ (Set Associative) 方式で制御されているとする。

「キャッシュブロックC0とC2は偶数メモリブロック (M0, M2, ..., M14) を格納することができ、キャッシュブロックC1とC3は奇数メモリブロック (M1, M3, ..., M15) を格納することができる。」

この計算機のCPUが次のようなメモリブロックのアクセスを行うとき、キャッシュの追い出しにLRU (Least Recently Used) アルゴリズムを用いた場合のキャッシュの最終状態を@〜Dの中から選べ。ただし、キャッシュブロックへの格納はC0 → C2、C1 → C3の順に行われるものとする。

 アクセス順 M0, M1, M2, M3, M0, M1, M4, M5, M4, M5, M1, M3

@ C0:M4, C1:M3, C2:M2, C3:M1

A C0:M4, C1:M5, C2:M2, C3:M3

B C0:M0, C1:M1, C2:M4, C3:M3

C C0:M0, C1:M3, C2:M4, C3:M5

D C0:M0, C1:M1, C2:M4, C3:M5


正解

B


解説

LRU (Least Recently Used) は、参照されていない時間が最も長いページを置換対象とするアルゴリズムである。
メモリブロックへのアクセス順にキャッシュブロックの状態は以下の通りとなる。

M0 C0:M0, C1:--, C2:--, C3:--
M1 C0:M0, C1:M1, C2:--, C3:--
M2 C0:M0, C1:M1, C2:M2, C3:--
M3 C0:M0, C1:M1, C2:M2, C3:M3
M0 C0:M0, C1:M1, C2:M2, C3:M3
M1 C0:M0, C1:M1, C2:M2, C3:M3
M4 C0:M0, C1:M1, C2:M4, C3:M3
M5 C0:M0, C1:M1, C2:M4, C3:M5
M4 C0:M0, C1:M1, C2:M4, C3:M5
M5 C0:M0, C1:M1, C2:M4, C3:M5
M1 C0:M0, C1:M1, C2:M4, C3:M5
M3 C0:M0, C1:M1, C2:M4, C3:M3

W−11 目次 W−13