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