この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

キャッシュメモリと主記憶を組み合わせたシステムの平均アクセス時間を求める問題です。平均アクセス時間は「ヒット率×キャッシュアクセス時間 + ミス率×主記憶アクセス時間」で計算します。本問では、読み込みたい命令コードがキャッシュに存在しない確率(ミス率)が r と与えられています。したがってキャッシュに存在する確率(ヒット率)は (1−r) です。キャッシュのアクセス時間は x ナノ秒、主記憶のアクセス時間は y ナノ秒なので、平均アクセス時間 = (1−r)×x + r×y となります。したがって選択肢bが正解です。なお、問題文には容量 a・b Mバイトが与えられていますが、これらは平均アクセス時間の計算には直接関係しない(ヒット率・ミス率に容量が織り込まれていない単純モデルである)ため、惑わされないことが重要です。ヒット率を高めるほど平均アクセス時間は速いキャッシュ側に近づき、キャッシュの効果が大きくなる、という基本原理を押さえましょう。

なぜ他の選択肢は違うのか

選択肢 ア
「(1−r)・a÷(a+b)・x + r・b÷(a+b)・y」は誤りです。容量a・bを用いた a/(a+b) や b/(a+b) という重み付けを加えていますが、ヒット率・ミス率は問題文で (1−r) と r として直接与えられており、容量比で按分する必要はありません。不要な容量比を掛けているため、正しい平均アクセス時間の式になっていません。
選択肢 ウ
「r・a÷(a+b)・x + (1−r)・b÷(a+b)・y」は誤りです。容量比を掛けている点が不適切である上に、ヒット率とミス率を取り違えています。キャッシュアクセス時間xにはヒット率(1−r)を、主記憶アクセス時間yにはミス率rを掛けるべきですが、この式ではxにr、yに(1−r)を割り当てており、確率の対応が逆です。
選択肢 エ
「r・x + (1−r)・y」は誤りです。容量比を掛けていない形は正しい方向ですが、ヒット率とミス率の対応が逆になっています。キャッシュにヒットする確率は(1−r)なのでキャッシュアクセス時間xには(1−r)を、ミスする確率rは主記憶アクセス時間yに掛けるべきであり、この式は確率の割り当てが入れ替わっています。

解くときのポイント

平均アクセス時間=ヒット率×キャッシュ時間+ミス率×主記憶時間。ミス率がrならヒット率は(1−r)。容量の数値は引っかけで計算に使わない。確率と対応するアクセス時間の組合せを間違えないこと。