応用情報技術者 2022年 秋期 午前2 問10
問題文
L1, L2と2段のキャッシュをもつプロセッサにおいて、あるプログラムを実行したとき、L1 キャッシュのヒット率が 0.95, L2キャッシュのヒット率が 0.6であった。このキャッシュシステムのヒット率は幾らか。ここで L1 キャッシュにあるデータは全てL2キャッシュにもあるものとする。
選択肢
ア:0.57
イ:0.6
ウ:0.95
エ:0.98(正解)
L1, L2キャッシュのヒット率計算【午前2 解説】
要点まとめ
- 結論:L1とL2の2段キャッシュの総合ヒット率は0.98となる。
- 根拠:L1ヒット率0.95、L2ヒット率0.6で、L1ミス時にL2がヒットする確率を加味するため。
- 差がつくポイント:L1ミス時にL2がヒットする確率を正しく計算し、単純な平均や最大値と混同しないこと。
正解の理由
L1キャッシュのヒット率が0.95、つまりアクセスの95%はL1でヒットします。残り5%はL1ミスです。この5%のうち60%はL2でヒットするため、L2ヒット率は0.6 × 0.05 = 0.03となります。したがって、全体のヒット率はL1ヒット率0.95 + L2ヒット率0.03 = 0.98となり、選択肢の中ではエが正解です。
よくある誤解
L1とL2のヒット率を単純に足したり平均したりする誤りがあります。L2ヒット率はL1ミス時の条件付き確率であることを理解しましょう。
解法ステップ
- L1ヒット率を確認する(0.95)。
- L1ミス率を計算する(1 - 0.95 = 0.05)。
- L1ミス時のL2ヒット率を確認する(0.6)。
- L2ヒット率の全体への寄与を計算する(0.6 × 0.05 = 0.03)。
- L1ヒット率とL2ヒット率の寄与を合計する(0.95 + 0.03 = 0.98)。
選択肢別の誤答解説
- ア: 0.57
L2ヒット率のみを誤って全体ヒット率とした可能性があります。 - イ: 0.6
L2ヒット率だけをヒット率と誤認しています。 - ウ: 0.95
L1ヒット率のみを全体ヒット率と誤解しています。 - エ: 0.98
L1ヒット率とL1ミス時のL2ヒット率を正しく合算した正解です。
補足コラム
2段キャッシュのヒット率は、L1でヒットしなかった場合にL2でヒットする確率を加味して計算します。一般に、の式で表されます。L2キャッシュはL1ミス時の補完役割を果たすため、L1とL2のヒット率は独立ではなく条件付き確率の関係にあります。
FAQ
Q: L1とL2のヒット率は単純に足していいですか?
A: いいえ。L2ヒット率はL1ミス時の条件付き確率なので、単純な足し算は誤りです。
A: いいえ。L2ヒット率はL1ミス時の条件付き確率なので、単純な足し算は誤りです。
Q: L2キャッシュにあるデータは必ずL1にもあるのですか?
A: 逆で、L1にあるデータは必ずL2にもあると仮定します。L2はL1の下位キャッシュです。
A: 逆で、L1にあるデータは必ずL2にもあると仮定します。L2はL1の下位キャッシュです。
関連キーワード: キャッシュメモリ、ヒット率計算、L1キャッシュ、L2キャッシュ、条件付き確率

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

