A~Dを,主記憶の実効アクセス時間が短い順に並べたものはどれか。
表:キャッシュメモリ有無/キャッシュメモリアクセス時間(ナノ秒)/キャッシュメモリヒット率(%)/主記憶アクセス時間(ナノ秒)
A|なし|-|-|15
B|なし|-|-|30
C|あり|20|60|70
D|あり|10|90|80
正答2
解説
正解は2です。
実効アクセス時間とは、キャッシュメモリを含めたときの平均的なメモリアクセス時間です。
キャッシュがない場合は、主記憶アクセス時間がそのまま実効アクセス時間になります。
キャッシュがある場合は、ヒット率をhとして、h×キャッシュアクセス時間+(1-h)×主記憶アクセス時間で求めます。
【計算】
Aはキャッシュなしなので15ナノ秒です。
Bはキャッシュなしなので30ナノ秒です。
Cは0.6×20+0.4×70=12+28=40ナノ秒です。
Dは0.9×10+0.1×80=9+8=17ナノ秒です。
短い順に並べると、A(15)、D(17)、B(30)、C(40)です。
【選択肢別解説】
1:× A、B、C、Dの順では、40ナノ秒のCが17ナノ秒のDより先に来てしまいます。
BもDより遅いので、この順にはなりません。
2:○ 計算結果の15、17、30、40ナノ秒の順と一致します。
3:× Cを最も短いとしていますが、Cは40ナノ秒で4つの中で最も長くなります。
4:× Dを最も短いとしていますが、Dの17ナノ秒はキャッシュなしのAの15ナノ秒より長くなります。
【ポイント】
キャッシュがあっても、ヒット率が低く主記憶が遅ければ、実効アクセス時間は長くなります。
ヒット率は%のままではなく、0.6や0.9のような小数に直して計算します。