平成25年度 秋期 午前 問11
コンピュータ構成要素
キャッシュメモリに関する問題
容量が a M バイトでアクセス時間が x ナノ秒のキャッシュメモリと,容量が b M バイトでアクセス時間が y ナノ秒の主記憶をもつシステムにおいて,CPU からみた,主記憶とキャッシュメモリとを合わせた平均アクセス時間を表す式はどれか。ここで,読み込みたいデータがキャッシュメモリに存在しない確率を r とし,キャッシュメモリ管理に関するオーバヘッドは無視できるものとする。
- ア{(1−r)·a/(a+b)}·x + {r·b/(a+b)}·y
- イ(1−r)·x + r·y
- ウ{r·a/(a+b)}·x + {(1−r)·b/(a+b)}·y
- エr·x + (1−r)·y
答えと解説を見る
✓ これが正解イ(1−r)·x + r·y
解説
重みは容量比ではなく、外れる確率と当たる確率そのものです。
設問は、キャッシュメモリと主記憶をもつコンピュータで、両者を合わせた平均のアクセス時間を表す式を選ばせています。見る軸は二つで、設問が与えている確率が何の確率かということと、平均を作る重みの合計が 1 になっているかということです。設問は、読み込みたいデータがキャッシュメモリに存在しない確率を与えていますから、これは外れる側の割合です。外れる割合が分かれば、当たる側の割合は 1 からそれを引いた値になります。当たったときに掛かるのはキャッシュメモリのアクセス時間、外れたときに掛かるのは主記憶のアクセス時間ですから、平均はそれぞれの時間に対応する割合を掛けて足した形になります。つまり、1 から確率を引いた値にキャッシュメモリ側の時間を掛け、確率に主記憶側の時間を掛けて足した式です。端でも確かめられます。必ず当たる場合はキャッシュメモリの時間そのもの、必ず外れる場合は主記憶の時間そのものになり、いずれも筋が通ります。ヒット率という言い方をする出題もあるので、どちらで与えられているかを先に読むことが要点です。
ほかの選択肢はなぜ違うのか
- ア{(1−r)·a/(a+b)}·x + …:二つの記憶の容量から作った比を重みに使っています。どこに当たるかは記憶の大きさの比ではなく参照の偏りで決まり、しかもこの重みは合計が 1 にならないため、必ず当たる場合に片方の時間より短い平均が出てしまいます。
- ウ{r·a/(a+b)}·x + {(1−…:こちらも容量から作った比を重みにしたうえ、速い側と遅い側に掛ける割合が入れ替わっています。重みの合計が 1 にならない点は同じで、平均という言葉の意味から外れます。
- エr·x + (1−r)·y:与えられた確率をヒット率と読み替えた形です。この式に必ず当たる場合を入れると主記憶の時間が出てしまい、高速な側を置いた意味がなくなります。本問の紛れは式ではなく語の定義にあります。
この問題の用語
- キャッシュ一度取り寄せた内容を手元に置いて、次から早く使えるようにする仕組み。CPUとメモリの間や、ブラウザ、DNSなど、さまざまな場所で使われます。
出典:平成25年度 秋期 応用情報技術者試験 午前 問11
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)