システムアーキテクト 2014年 午前2 問19
問題文
アクセス時間10ナノ秒のキャッシュメモリとアクセス時間50ナノ秒の主記憶を使用した処理装置において、主記憶の実効メモリアクセス時間が25ナノ秒以下になるためには、キャッシュメモリのヒット率が少なくとも何%あればよいか。
選択肢
ア:50
イ:60
ウ:70(正解)
エ:80
🔒 解説は解答すると表示されます
実効メモリアクセス時間【午前2解説】
正解の理由
キャッシュのヒット率を (0〜1)とすると、実効メモリアクセス時間(EAT)はキャッシュヒット時のアクセス時間とミス時の主記憶アクセス時間の重み付き平均で表されます。具体的には
問題の条件は EAT が 25ナノ秒以下であることなので
を解くと (62.5%)となります。選択肢の中でこの条件を満たす最小の値は ウ(70%)です。従って、正答は ウ です。
解法ステップ
- ヒット率を とおく。キャッシュアクセス時間 ns、主記憶アクセス時間 ns。
- 実効アクセス時間の式を立てる:
- 条件 を満たす を解く:
- 選択肢(50, 60, 70, 80%)の中で 62.5% 以上となる最小値は 70%(ウ)であることを確認する。
選択肢別の誤答解説
- ア(50%): EAT = ns。目標の25 nsを上回るため不適。
- イ(60%): EAT = ns。目標の25 nsをわずかに上回るため不適(注意:26 ns と計算すること)。
- ウ(70%): EAT = ns。25 ns以下となるため条件を満たす。かつ選択肢中で最小の満たす値であるため正解。
- エ(80%): EAT = ns。条件は満たすが、より小さいヒット率で条件を満たす選択肢(70%)があるため最小値としては選ばれない。
よくある誤解
- ヒット率の閾値を整数パーセントで丸めずに「60%で良い」と結論してしまう誤り。60%では EAT = 26 ns で条件を満たさないことに注意。
- 実効アクセス時間の式を逆にしてしまう(例えば 等)など、ヒット時とミス時の重みづけを取り違えるミス。
- 単位(ナノ秒)を忘れて計算ミスする。常に同じ単位で扱うこと。
補足コラム
一般化すると、キャッシュヒット時時間を 、ミス時にかかる追加ペナルティ(=主記憶アクセス時間)を とすると
目標値 以下にするには
を満たす必要があります。この公式を覚えておくと類題に素早く対応できます。
FAQ
Q. 62.5% を選択肢に含めない場合はどう判断するのが正しいですか?
A. 実際の条件は「62.5%以上」であり、選択肢が離散値ならその中で最小の満たす値を選びます。本問では 70% が該当します。
A. 実際の条件は「62.5%以上」であり、選択肢が離散値ならその中で最小の満たす値を選びます。本問では 70% が該当します。
Q. 「25ナノ秒未満」と「25ナノ秒以下」で答えは変わりますか?
A. 今回の閾値は (62.5%)で、等号を含むか否かで差は出ません(境界がちょうど62.5%であり選択肢には存在しないため)。ただし厳密解法では不等号の向きに注意してください。
A. 今回の閾値は (62.5%)で、等号を含むか否かで差は出ません(境界がちょうど62.5%であり選択肢には存在しないため)。ただし厳密解法では不等号の向きに注意してください。
Q. 計算途中でパーセントと小数を混在させてもよいですか?
A. 可ですがミスを生みやすいので、公式では小数(0〜1)で扱い、最後にパーセントに変換するのが安全です。
A. 可ですがミスを生みやすいので、公式では小数(0〜1)で扱い、最後にパーセントに変換するのが安全です。
関連キーワード: キャッシュ、ヒット率、実効アクセス時間、ミスレート、メモリ階層、アクセス時間計算

\ せっかくなら /
システムアーキテクトを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

