メインコンテンツへ
コンピュータ構成要素

キャッシュメモリのアクセス時間が 5 ナノ秒、主記憶のアクセス時間が 50 ナノ秒のシステムがある。キャッシュのヒット率を 0.9 としたとき、このシステムの平均メモリアクセス時間はどれか。ただし、キャッシュヒット時はキャッシュメモリのみにアクセスし、キャッシュミス時は主記憶のみにアクセスするものとする。

ア.10.0 ナノ秒
イ.27.5 ナノ秒
ウ.9.5 ナノ秒正解
エ.45.5 ナノ秒

解説

キャッシュは「机の上に出している教科書」、主記憶は「棚の奥にしまった教科書」のイメージです。ヒット率 0.9 なら 10 回中 9 回は机で済み、1 回だけ棚まで取りに行く。その「加重平均」が平均アクセス時間の正体です。

なぜ ウ が正解か

式は「ヒット率 × キャッシュ時間 +(1 − ヒット率)× 主記憶時間」です。0.9 × 5 + 0.1 × 50 = 4.5 + 5.0 = 9.5 ナノ秒となります。これは利用頻度で重み付けした加重平均であり、ヒット率が高いほど平均はキャッシュの速さに近づきます。主記憶(50 ns)だけでは遅すぎるシステムが、キャッシュ 1 枚で約 5 倍速くなる効果がこの数字に表れています。

なぜ ア は間違いか

10.0 ナノ秒は「ミス時にキャッシュと主記憶を順次アクセスする」と誤解した計算(0.9×5 + 0.1×(5+50) = 10.0)です。多段キャッシュ構成では順次アクセスになる場合もありますが、この問題では「ミス時は主記憶のみ」と明記されているため二重カウントは誤りです。

なぜ イ は間違いか

27.5 ナノ秒は (5+50)÷2 = 27.5 と単純平均した誤りです。ヒット率という「どちらを使う頻度か」の情報を無視して 50:50 で割り算しています。ヒット率 0.9 ならキャッシュが圧倒的に多く使われるので、平均はキャッシュ寄りにならなければなりません。

なぜ エ は間違いか

45.5 ナノ秒はヒット率と(1−ヒット率)を逆に当てはめた値(0.1×5 + 0.9×50 = 45.5)です。これは「90% の確率で主記憶に取りに行く」という、ほぼキャッシュが機能していない設計になってしまいます。「ヒット率=キャッシュに当たる確率」という定義を起点に式を組み立てると間違えません。

出典: AI生成問題(学習用)