令和7年度 秋期 プロジェクトマネージャ試験 データベーススペシャリスト試験 エンベデッドシステムスペシャリスト試験 システム監査技術者試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問6

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、最終参照時刻 0:08、参照回数 10
  • C1: ロード時刻 0:03、最終参照時刻 0:06、参照回数 1
  • C2: ロード時刻 0:04、最終参照時刻 0:05、参照回数 3
  • C3: ロード時刻 0:05、最終参照時刻 0:10、参照回数 5

C2 を置換対象として選ぶためには、C2 が最小または最大となる項目を基準にする必要があります。各項目を比較すると、C2 は「最終参照時刻」が 0:05 と最も古くなっています。

最も過去に参照された(最終参照時刻が最も古い)ブロックを置換対象とするアルゴリズムは LRU であるため、正解はエです。

各選択肢の解説

  • ア: FIFOは最初にロードされたブロックを置換対象とします。ロード時刻が 0:00 と最も古い C0 が対象となります。
  • イ: LFUは参照回数が最も少ないブロックを置換対象とします。参照回数が 1 と最も少ない C1 が対象となります。
  • ウ: LIFOは最後にロードされたブロックを置換対象とします。ロード時刻が 0:05 と最も新しい C3 が対象となります。
  • エ: LRUは最終参照時刻が最も古いブロックを置換対象とします。最終参照時刻が 0:05 と最も古い C2 が対象となります。

Spineチーム