解説
容量とアクセス時間から求める平均アクセス時間の計算式【午前2 解説】
要点まとめ
- 結論:平均アクセス時間は「命令キャッシュのヒット率×キャッシュアクセス時間+ミス率×主記憶アクセス時間」で表される。
- 根拠:命令キャッシュに命令が存在する確率は1−r、存在しない確率はrであり、それぞれのアクセス時間を重み付けして合計する。
- 差がつくポイント:容量比で重み付けするのではなく、ヒット率・ミス率を確率として正しく扱うことが重要。
正解の理由
正解はイの式
(1−r)⋅x+r⋅y
です。
これは、命令キャッシュに命令が存在する確率(1−r)にキャッシュのアクセス時間xを掛け、存在しない確率rに主記憶のアクセス時間yを掛けて平均アクセス時間を求める基本的な期待値の計算式です。容量aやbはアクセス時間に直接影響しないため、式に含める必要はありません。
よくある誤解
容量の比率でアクセス時間を重み付けする誤りが多いですが、平均アクセス時間はアクセス確率(ヒット率・ミス率)で重み付けします。容量はアクセス確率を決める要素の一つですが、直接計算式に入れません。
解法ステップ
- 命令キャッシュに命令が存在する確率を確認する → 1−r
- 命令キャッシュに命令が存在しない確率を確認する → r
- それぞれのアクセス時間を確認する → キャッシュx、主記憶y
- 平均アクセス時間は「ヒット率×キャッシュアクセス時間+ミス率×主記憶アクセス時間」で求める
- 容量はアクセス時間の重み付けに使わないことを理解する
選択肢別の誤答解説
- ア: 容量比で重み付けしているが、アクセス確率とは無関係で誤り。
- イ: 正解。ヒット率とミス率で正しく重み付けしている。
- ウ: ヒット率とミス率の掛け合わせが逆になっており、さらに容量比を掛けているため誤り。
- エ: ヒット率とミス率の順序が逆で、キャッシュと主記憶のアクセス時間の対応も間違っている。
補足コラム
平均アクセス時間はキャッシュメモリの性能評価で基本となる指標です。
キャッシュヒット率が高いほど平均アクセス時間は短くなり、システム全体の性能向上に直結します。
容量はヒット率に影響しますが、計算式には直接入れず、ヒット率rの値として反映されます。
FAQ
Q: なぜ容量を使わずに計算するのですか?
A: 容量はヒット率に影響しますが、平均アクセス時間はアクセス確率(ヒット率・ミス率)とアクセス時間の積の和で求めるため、容量は直接関係しません。
Q: キャッシュのオーバヘッドは無視して良いですか?
A: 問題文で無視できると明示されているため、計算式には含めません。実際の設計では考慮が必要な場合もあります。
関連キーワード: キャッシュメモリ, 平均アクセス時間, ヒット率, ミス率, アクセス時間, GPU, メモリ階層