平成30年度 秋期11テクノロジ系

基本情報 平成30年度 秋期 問11:テクノロジ系に関する問題

キャッシュメモリに関する記述のうち, 適切ながものはどれか。

  • aキャッシュメモリにヒットしない場合に割込みが生じ, プログラムによって主 記憶からキャッシュメモリにデータが転送される。
  • bキャッシュメモリは, 実記憶と仮想記憶とのメモリ容量の差を埋めるために採 用される。
  • cデータ書込み命令を実行したときに, キャッシュメモリと主記憶の両方を書き 換える方式と, キャッシュメモリだけを書き換えておき, 主記憶の書換えはキャ ッシュメモリから当該データが追い出されるときに行う方式とがある。正答
  • d半導体メモリのアクセス速度の向上が著しいので, キャッシュメモリの必要性 は減っている。
正答:Cデータ書込み命令を実行したときに, キャッシュメモリと主記憶の両方を書き 換える方式と, キャッシュメモリだけを書き換えておき, 主記憶の書換えはキャ ッシュメモリから当該データが追い出されるときに行う方式とがある。

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは c です。

キャッシュメモリへの書き込みには2つの方式:

  • ライトスルー:キャッシュと主記憶に同時に書く(安全だけど遅い)
  • ライトバックキャッシュだけに書いておき、キャッシュから追い出されるときに主記憶へまとめ書き(速い)

選択肢cはこの2方式を正確に説明しています。

👉 覚え方:スルー=両方同時、バック=後でまとめ

ほかの選択肢:a 割込みでプログラム転送=実際はハードウェアが自動/b 仮想記憶との混同/d キャッシュ不要論=今でも必須技術。

標準試験対策の基準レベル

なぜこれが正解か

正解は c。キャッシュメモリへの書き込み方式は2種類:

  • ライトスルー方式:データ書き込み時にキャッシュと主記憶の両方を同時更新。常に一貫性が保たれるが、主記憶への書き込み頻度が多くなる。
  • ライトバック方式キャッシュのみ更新し、該当キャッシュラインが追い出される(リプレース)タイミングで主記憶へ書き戻す。主記憶アクセス頻度を減らし高速化。

選択肢cはこの2方式の説明として正確。

各選択肢の解説

  • a 割込み発生時にプログラムが主記憶からキャッシュ転送:ハードウェアが自動で行うためプログラム介入は不要。誤り。
  • b 実記憶と仮想記憶のメモリ容量差を埋めるためのキャッシュ:ページ・スワップ機構の説明であり、CPUキャッシュの目的とは異なる。CPUキャッシュは主記憶とCPUの速度差を埋める。
  • c ライトスルーとライトバックの2方式説明 → 正解
  • d 半導体メモリ高速化でキャッシュ不要:誤り。CPUとメモリの速度差は依然大きく(メモリウォール問題)、現代CPUでもL1〜L3キャッシュは必須。

覚え方・ひっかけ注意

キャッシュの目的:CPUと主記憶の速度差を埋める。仮想記憶は容量を増やす目的、キャッシュは速度を上げる目的、と混同しない。書き込み方式の他、リプレース方式(LRU、FIFO、ランダム)、マッピング方式(直接、フルアソシエイティブ、セットアソシエイティブ)もセットで整理。

上級誤答論破・背景理論まで深掘り

キャッシュメモリの理論的背景

メモリウォール問題:CPUの動作速度向上(ムーアの法則)に対し主記憶アクセス速度の改善は遅く、両者のギャップが拡大。これを埋めるのがキャッシュメモリ。参照の局所性(時間的局所性=最近使ったデータは再利用される、空間的局所性=近接アドレスは連続アクセスされる)を利用して有効性を発揮。

キャッシュ階層

現代CPUは多段階キャッシュ:

  • L1:CPU各コア内、命令キャッシュ(L1I)とデータキャッシュ(L1D)に分離。容量32-64KB、レイテンシ1-4サイクル。
  • L2:コア内またはコア間共有、容量256KB-1MB、レイテンシ10-15サイクル。
  • L3:複数コア共有、容量数MB-100MB+、レイテンシ30-50サイクル。
  • L4:一部のCPU(IBM POWER、Intel初期等)でDRAMベース。
  • 主記憶(DRAM):レイテンシ100-300サイクル。

書き込み方式の組み合わせ

キャッシュヒット時とミス時で4通り:

| ヒット時 | ミス時 | 名称 |

|---|---|---|

| ライトスルー | ノーアロケート | シンプル、ライトスルー単純構成 |

| ライトスルー | ライトアロケート | 一部の高性能設計 |

| ライトバック | ノーアロケート | 稀少 |

| ライトバック | ライトアロケート | 現代CPUの標準 |

マッピング方式

  • 直接マッピング(Direct Mapped):主記憶アドレスから一意にキャッシュ位置決定。シンプルだが衝突多い。
  • フルアソシエイティブ(Fully Associative):任意のキャッシュラインに格納可能。柔軟だが検索コスト大。
  • nウェイセットアソシエイティブ:両者の折衷。現代CPUは4〜16ウェイが主流。

リプレースアルゴリズム

  • LRU(Least Recently Used):最も古く使われたものを追い出す。理想的だが完全実装は高コスト。
  • 疑似LRU(Pseudo-LRU):tree-LRU、近似実装。
  • FIFO:単純、性能は劣る。
  • ランダム:シンプル、平均的に妥当。
  • NRU(Not Recently Used):参照ビットで近似LRU。
  • ARC、CLOCK-Pro:高度な近代アルゴリズム。

マルチプロセッサとキャッシュコヒーレンス

複数CPUがキャッシュを持つ場合、データ一貫性確保のためコヒーレンスプロトコルが必要:

  • MESI(Modified、Exclusive、Shared、Invalid):Intel標準。
  • MOESI(+Owned):AMD K8以降、ARM等。
  • MESIF(+Forward):Intel QPI/UPI。
  • ディレクトリベース:大規模NUMA向け。
  • スヌーピング:バスベース、各キャッシュが他のメモリトランザクションを監視。

キャッシュ関連の現代トピック

  • キャッシュサイドチャネル攻撃:Meltdown(2018)、Spectre(2018)、Foreshadow、ZombieLoad。投機的実行とキャッシュタイミングの組み合わせで秘密情報漏洩。
  • キャッシュパーティショニング:複数テナント間の干渉防止。Intel CAT(Cache Allocation Technology)、ARM MPAM。
  • 不揮発性キャッシュ:Intel Optane Persistent Memory、3D XPoint。

試験での位置づけ

FE「ハードウェア/コンピュータアーキテクチャ」分野で毎期出題の最重要領域。書き込み方式・マッピング方式・リプレース方式・ヒット率計算は確実な得点源。応用情報・エンベデッドではコヒーレンスプロトコル、NUMA、TLB(Translation Lookaside Buffer)、メモリオーダリングまで踏み込む。

性能計算

実効アクセス時間 = ヒット率 × キャッシュアクセス時間 + (1 − ヒット率) × 主記憶アクセス時間。

例:ヒット率95%、L1=1ns、主記憶=100ns → 0.95×1 + 0.05×100 = 5.95ns。

選択肢の発展補足

bの仮想記憶は主記憶を超える論理アドレス空間を実現する技術。ページング方式でページテーブル管理、TLB(Translation Lookaside Buffer)でアドレス変換を高速化。TLB自体もキャッシュの一種(アドレス変換結果のキャッシュ)。dのメモリウォール問題は2010年代以降より深刻化、3D積層DRAM(HBM)、Compute Express Link(CXL)、CXL.memory等で対策が進む。L3キャッシュの大容量化(AMD 3D V-Cache:96MB+)、SRAM eDRAM混在等が現代の解決策。

出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成30年度 秋期11/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。