エンベデッドシステムスペシャリスト 2024年 午前2 問03
問題文
L1とL2の2段のキャッシュをもつプロセッサにおいて、あるプログラムを実行したとき、L1キャッシュのヒット率が0.95、L2キャッシュのヒット率が0.6であった。このキャッシュシステムのヒット率は幾らか。ここで、L1キャッシュにあるデータは全てL2キャッシュにもあるものとする。
選択肢
ア:0.57
イ:0.6
ウ:0.95
エ:0.98(正解)
🔒 解説は解答すると表示されます
多段キャッシュの総合ヒット率【午前2解説】
正解の理由
L1で見つからなかったデータについて、L2で見つかる確率を考えます。
L1のヒット率は0.95なので、L1で見つからない確率は です。そのうち、L2で見つかる確率は0.6です。したがって、L1で見つからずL2で見つかる確率は です。
総合ヒット率は、「L1で見つかる確率」と「L1では見つからず、L2で見つかる確率」の合計です。
よって、正しい選択肢は エ です。
解法ステップ
- L1でのミス率を求めます。
- L1のミスのうち、L2でヒットする割合を掛けます。
- L1のヒット率と、L2でのヒット率を合計します。
選択肢別の誤答解説
- ア:0.57
L1とL2のヒット率を単純に掛けた値です。L2にアクセスするのはL1でミスした場合なので、L1のヒット率ではなく、L1のミス率を使います。 - イ:0.6
L2のヒット率だけを答えています。L1で見つかる分も総合ヒット率に含めます。 - ウ:0.95
L1のヒット率だけを答えています。L1でミスした後にL2で見つかる分を加える必要があります。 - エ:0.98
L1でのヒットに、L1でミスしてL2でヒットする分を加えた値です。
よくある誤解
- 2段のヒット率を掛ければよい
L2のヒット率は、L1でミスしてL2を調べたときのヒット率です。L1のヒット率と単純に掛けるのではなく、L1のミス率に掛けます。 - L1とL2のヒット率をそのまま足せばよい
それぞれのヒット率は、同じアクセス全体に対する割合ではありません。L2のヒット率はL1でミスしたアクセスを対象とするため、条件を考慮して計算します。 - L2のヒットも、L1のヒットと同じように数える
L2でのヒットは、L1では見つからなかったアクセスに限られます。そのため、総合ヒット率への寄与は「L1のミス率 × L2のヒット率」です。
補足コラム
L1のヒット率を 、L2のヒット率を とすると、2段キャッシュの総合ヒット率は次の式で表せます。
これは「L1でヒットする」場合と、「L1でミスしてL2でヒットする」場合を足した式です。なお、L1のデータがすべてL2にもあるという条件は、L1でヒットしたデータをL2にも存在するものとして扱えることを示しています。
FAQ
L2のヒット率は、全アクセスのうちL2で見つかる割合ですか?
この問題では、L1でミスしてL2を参照したアクセスのうち、L2で見つかる割合として扱います。
この問題では、L1でミスしてL2を参照したアクセスのうち、L2で見つかる割合として扱います。
L1のミス率はなぜ必要ですか?
L1でヒットしたアクセスはL2を参照しません。L2でヒットする可能性があるのは、L1でミスしたアクセスだけだからです。
L1でヒットしたアクセスはL2を参照しません。L2でヒットする可能性があるのは、L1でミスしたアクセスだけだからです。
L2でもミスした場合は、総合ヒット率に含まれますか?
含まれません。L1とL2のどちらでも見つからなかったアクセスは、キャッシュ全体としてはミスです。
含まれません。L1とL2のどちらでも見つからなかったアクセスは、キャッシュ全体としてはミスです。
関連キーワード: 多段キャッシュ、L1キャッシュ、L2キャッシュ、ヒット率、ミス率

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

