容量がa Mバイトでアクセス時間がxナノ秒の命令キャッシュと,容量がb Mバイトでアクセス時間がyナノ秒の主記憶をもつシステムにおいて,CPUからみた,主記憶と命令キャッシュとを合わせた平均アクセス時間を表す式はどれか。
ここで,読み込みたい命令コードがキャッシュに存在しない確率をrとし,キャッシュ管理に関するオーバヘッドは無視できるものとする。
正答2
解説
正解は2です。
キャッシュを使ったときの平均アクセス時間は、ヒットした場合とヒットしなかった場合の時間を、それぞれの確率で重み付けして求めます。
記憶容量は確率とは関係がなく、式に入らない点が要点です。
【計算】
キャッシュに命令がある確率は1−r、ない確率はrです。
ある場合のアクセス時間はxナノ秒、ない場合は主記憶のyナノ秒です。
平均アクセス時間=(1−r)・x+r・yです。
【選択肢別解説】
1:× 容量の比a/(a+b)などで重み付けしています。
ヒットするかどうかは容量比では決まらないので、この式は誤りです。
2:○ ヒット率1−rにキャッシュのアクセス時間x、ミス率rに主記憶のアクセス時間yを掛けて足しています。
平均アクセス時間の正しい式です。
3:× 容量比を使っているうえ、確率rと1−rの対応も逆です。
キャッシュ側にはヒット率1−rを掛ける必要があります。
4:× 確率の対応が逆です。
rはキャッシュに存在しない確率なので、主記憶のアクセス時間yに掛けるのが正しい形です。
【ポイント】
実効アクセス時間=ヒット率×キャッシュの時間+(1−ヒット率)×主記憶の時間、と覚えます。
問題文で与えられた確率がヒット率かミス率かを必ず確認しましょう。