図に示す構成で,表に示すようにキャッシュメモリと主記憶のアクセス時間だけが異なり,他の条件は同じ 2 種類の CPU X と Y がある。
あるプログラムを CPU X と Y とでそれぞれ実行したところ,両者の処理時間が等しかった。このとき,キャッシュメモリのヒット率は幾らか。ここで,CPU 以外の処理による影響はないものとする。
- ア 0.75
- イ 0.90
- ウ 0.95
- エ 0.96
図に示す構成で,表に示すようにキャッシュメモリと主記憶のアクセス時間だけが異なり,他の条件は同じ 2 種類の CPU X と Y がある。
あるプログラムを CPU X と Y とでそれぞれ実行したところ,両者の処理時間が等しかった。このとき,キャッシュメモリのヒット率は幾らか。ここで,CPU 以外の処理による影響はないものとする。
正解: イ
ヒット率を p とすると,実効アクセス時間(平均アクセス時間)は次の式で表せます。
$ 実効アクセス時間 = キャッシュのアクセス時間 \times p + 主記憶のアクセス時間 \times (1 - p) $
CPU X と CPU Y の処理時間が等しいので,実効アクセス時間も等しくなります。
$$ 40p + 400(1 - p) = 20p + 580(1 - p) $$
左辺・右辺をそれぞれ整理します。
$$\begin{aligned}400 - 360p &= 580 - 560p \\ 200p &= 180 \\ p &= 0.9 \end{aligned} $$
よってヒット率は 0.90(イ) です。
CPU Y はキャッシュが速い(20ns)代わりに主記憶が遅い(580ns)構成です。両者の処理時間が同じになるのは,キャッシュアクセスの差(40−20=20ns 得)と主記憶アクセスの差(580−400=180ns 損)が,回数の比でちょうど打ち消し合うとき。ヒットとミスの比が 180:20=9:1,つまりヒット率 0.9 と考えることもできます。