システムアーキテクト試験 2022年 午前221


容量がaMバイトでアクセス時間がxナノ秒の命令キャッシュと、容量がbMバイトでアクセス時間がyナノ秒の主記憶をもつシステムにおいて、GPUからみた、主記憶と命令キャッシュとを合わせた平均アクセス時間を表す式はどれか。ここで、読み込みたい命令コードが命令キャッシュに存在しない確率をrとし、キャッシュ管理に関するオーバヘッドは無視できるものとする。
(1r)aa+bx+rba+by\frac{(1 - r) \cdot a}{a + b} \cdot x + \frac{r \cdot b}{a + b} \cdot y
(1r)x+ry(1 - r) \cdot x + r \cdot y(正解)
raa+bx+(1r)ba+by\frac{r \cdot a}{a + b} \cdot x + \frac{(1 - r) \cdot b}{a + b} \cdot y
rx+(1r)yr \cdot x + (1 - r) \cdot y

解説

容量とアクセス時間から求める平均アクセス時間の計算式【午前2 解説】

要点まとめ

  • 結論:平均アクセス時間は「命令キャッシュのヒット率×キャッシュアクセス時間+ミス率×主記憶アクセス時間」で表される。
  • 根拠:命令キャッシュに命令が存在する確率は1r1-r、存在しない確率はrrであり、それぞれのアクセス時間を重み付けして合計する。
  • 差がつくポイント:容量比で重み付けするのではなく、ヒット率・ミス率を確率として正しく扱うことが重要。

正解の理由

正解はの式
(1r)x+ry(1 - r) \cdot x + r \cdot y
です。
これは、命令キャッシュに命令が存在する確率(1r)(1-r)にキャッシュのアクセス時間xxを掛け、存在しない確率rrに主記憶のアクセス時間yyを掛けて平均アクセス時間を求める基本的な期待値の計算式です。容量aabbはアクセス時間に直接影響しないため、式に含める必要はありません。

よくある誤解

容量の比率でアクセス時間を重み付けする誤りが多いですが、平均アクセス時間はアクセス確率(ヒット率・ミス率)で重み付けします。容量はアクセス確率を決める要素の一つですが、直接計算式に入れません。

解法ステップ

  1. 命令キャッシュに命令が存在する確率を確認する → 1r1-r
  2. 命令キャッシュに命令が存在しない確率を確認する → rr
  3. それぞれのアクセス時間を確認する → キャッシュxx、主記憶yy
  4. 平均アクセス時間は「ヒット率×キャッシュアクセス時間+ミス率×主記憶アクセス時間」で求める
  5. 容量はアクセス時間の重み付けに使わないことを理解する

選択肢別の誤答解説

  • ア: 容量比で重み付けしているが、アクセス確率とは無関係で誤り。
  • : 正解。ヒット率とミス率で正しく重み付けしている。
  • ウ: ヒット率とミス率の掛け合わせが逆になっており、さらに容量比を掛けているため誤り。
  • エ: ヒット率とミス率の順序が逆で、キャッシュと主記憶のアクセス時間の対応も間違っている。

補足コラム

平均アクセス時間はキャッシュメモリの性能評価で基本となる指標です。
キャッシュヒット率が高いほど平均アクセス時間は短くなり、システム全体の性能向上に直結します。
容量はヒット率に影響しますが、計算式には直接入れず、ヒット率rrの値として反映されます。

FAQ

Q: なぜ容量を使わずに計算するのですか?
A: 容量はヒット率に影響しますが、平均アクセス時間はアクセス確率(ヒット率・ミス率)とアクセス時間の積の和で求めるため、容量は直接関係しません。
Q: キャッシュのオーバヘッドは無視して良いですか?
A: 問題文で無視できると明示されているため、計算式には含めません。実際の設計では考慮が必要な場合もあります。

関連キーワード: キャッシュメモリ, 平均アクセス時間, ヒット率, ミス率, アクセス時間, GPU, メモリ階層
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ