令和4年度秋期 応用情報技術者試験 午前 問10
L1,L2と2段のキャッシュをもつプロセッサにおいて,あるプログラムを実行したとき,L1キャッシュのヒット率が0.95,L2キャッシュのヒット率が0.6であった。このキャッシュシステムのヒット率は幾らか。ここでL1キャッシュにあるデータは全てL2キャッシュにもあるものとする。
- ア 0.57
- イ 0.6
- ウ 0.95
- エ 0.98
解答・解説を見る
正解:エ
AI解説
2段キャッシュの総合ヒット率は、L1でヒットする確率に加え、L1でミスしてもL2でヒットする確率を足し合わせて求める。計算式は「L1ヒット率+(1-L1ヒット率)×L2ヒット率」であり、0.95+(1-0.95)×0.6=0.95+0.03=0.98となる。 ア: 0.57は(1-0.95)×(1-0.6)=0.02のような余事象同士の掛け算を誤って使った場合などに生じる誤答であり、正しい合成ヒット率ではない。 イ: 0.6はL2キャッシュ単独のヒット率であり、L1でヒットする分を考慮していないため、システム全体のヒット率としては不足している。 ウ: 0.95はL1キャッシュ単独のヒット率にすぎず、L1でミスした場合にL2でヒットする分を加算していないため、システム全体の値としては小さすぎる。 エ: 0.95+(1-0.95)×0.6=0.98が正しい計算結果であり、L1ミス時にL2で救済される分を正しく加味した値である。 💡 多段キャッシュのヒット率は「上位段でミスしても下位段で救われる」ことを踏まえ、1-(全段ミス確率の積)、あるいは順に足し込む形で計算するのが定石である。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。