この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

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

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

正解は イ

解説

キャッシュメモリを考慮した実効アクセス時間の計算問題です。実効アクセス時間は、キャッシュがある場合「キャッシュのアクセス時間×ヒット率+主記憶のアクセス時間×(1−ヒット率)」で計算し、キャッシュがない場合は主記憶のアクセス時間そのものです。各システムを計算すると、A はキャッシュなしで主記憶15ナノ秒なので15ナノ秒。B も同様に30ナノ秒。C は 20×0.6+70×(1−0.6) = 12+28 = 40ナノ秒。D は 10×0.9+80×(1−0.9) = 9+8 = 17ナノ秒です。短い順に並べると A(15)< D(17)< B(30)< C(40)となり、イが正解です。この問題の面白い点は、キャッシュを搭載した C(40ナノ秒)がキャッシュなしの B(30ナノ秒)より遅いことです。ヒット率が低い(60%)と、遅い主記憶(70ナノ秒)へのアクセスが頻発し、キャッシュの効果が薄れてしまいます。「キャッシュがあれば必ず速い」という思い込みを揺さぶる、計算の正確さを試す良問です。

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

選択肢 ア
A, B, C, D の順は、キャッシュの計算をせずに「キャッシュなしの2台が主記憶の速い順、キャッシュありの2台がその後」と並べた場合などに出る誤りです。実際には D の実効アクセス時間は17ナノ秒で B の30ナノ秒より速く、D は2番目に来ます。ヒット率90%と高速キャッシュ10ナノ秒の組合せは、主記憶80ナノ秒の遅さを大きく補うため、加重平均の計算を省略すると順位を誤ります。
選択肢 ウ
C, D, A, B の順は実効アクセス時間の長い順(遅い順)に近い並びであり、「短い順」という問題の指示と逆方向の整列をした場合に生じます。計算結果は A=15、D=17、B=30、C=40 なので、短い順なら A が先頭、C が最後尾です。設問が「短い順」か「長い順」かを最後にもう一度確認してから解答する習慣で防げるミスです。
選択肢 エ
D, C, A, B の順は、キャッシュ搭載機(D, C)が無条件にキャッシュなし機(A, B)より速いと思い込んだ場合の並びです。実際には C はヒット率が60%と低いため実効アクセス時間が40ナノ秒となり、4台中最も遅くなります。キャッシュの効果はヒット率に大きく依存するため、構成の見た目ではなく加重平均の計算で順位を決める必要があります。

解くときのポイント

実効アクセス時間=キャッシュ時間×ヒット率+主記憶時間×(1−ヒット率)。キャッシュ搭載でもヒット率が低ければ遅いことがある。全部計算してから整列方向(短い順/長い順)を確認。