基本情報技術者 2014年 春期 午前(科目A) 問10
問題文
主記憶のアクセス時間が60ナノ秒、キャッシュメモリのアクセス時間が10ナノ秒であるシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実効アクセス時間が15ナノ秒であるとき、キャッシュメモリのヒット率は幾らか。
選択肢
ア:0.1
イ:0.17
ウ:0.83
エ:0.9(正解)
🔒 解説は解答すると表示されます
キャッシュヒット率の算出【午前解説】
正解の理由
実効アクセス時間はキャッシュヒット時のアクセス時間とミス時のアクセス時間の加重平均で表されます。ここでキャッシュのヒット率を 、キャッシュアクセス時間を ns、主記憶アクセス時間を ns、実効アクセス時間を ns とすると、式は
です。これに数値を代入して解くと
したがって正答は、選択肢のうち エ(0.9)になります。
解法ステップ
- 用語・数値の整理:ns、ns、ns、ヒット率を とする。
- 実効アクセス時間はヒット/ミスの重み付き平均で表す:。
- 値を代入して を解く: → → .
- 小数の四捨五入は不要(0.9 は正確に得られる)。
選択肢別の誤答解説
-
ア: 0.1
根本原因:ヒット率とミス率の役割を入れ替えて式を立ててしまった場合に出る値です。例えば誤って とするとこのミスは「ヒット時に主記憶の時間を使う」と逆に扱ってしまう典型的な誤りです。 -
イ: 0.17(約)
根本原因:意味を取り違えて単純比を使う誤りです。例えば「キャッシュの効果を単にキャッシュ時間÷主記憶時間で表す」として をヒット率と誤認するケースが考えられます。これは重み付き平均という本質を無視した誤った考え方です。 -
ウ: 0.83(約)
根本原因:上の誤り(イ)を基にして補数を取るミスです。すなわち として、ヒット率は“主記憶に対する残り”と解釈してしまった場合に得られます。イと同様に根本は式の立て方の誤りです。 -
エ: 0.9(正答)
正しい式 を用いて導かれる値で、ヒット時とミス時の時間を正しく重み付けしています。
よくある誤解
- ヒット率とミス率を混同して式の係数を入れ替える(ヒット時に主記憶時間を掛ける等)。
- 実効アクセス時間を「単純な比(例:)」で求めようとする(重み付き平均の考えを忘れる)。
- ミスのペナルティ(主記憶アクセス時間全体)が存在することを忘れ、キャッシュアクセス時間を加算しない/二重に加算する計算ミス。
補足コラム
式の変形でミス率 を使うとわかりやすくなります:
ここからミス率を求めると
数値を代入すると
よって 。この形は「キャッシュアクセス時間にミス発生時の追加遅延(ミスペナルティ)を加える」という直感的解釈に対応しており、入試や実務での理解に便利です。
また、実システムでは「ヒット時間に追加の制御オーバーヘッドがある」「書き込みポリシーで遅延が異なる」などの要因で式が変わることがあります。本問題は単純化されたモデル(ヒット時は 、ミス時は )を前提にしています。
FAQ
Q1: 実効アクセス時間がヒット時の時間より短いのはなぜか?
A1: キャッシュが高頻度でヒットすると、重み付き平均がキャッシュ時間に近づくためです。今回のように であればキャッシュ効果が効いていることを示します。
A1: キャッシュが高頻度でヒットすると、重み付き平均がキャッシュ時間に近づくためです。今回のように であればキャッシュ効果が効いていることを示します。
Q2: ヒット率を求める別の速い方法は?
A2: 上の補足式を使えば直接ミス率を計算できます。即ち 。
A2: 上の補足式を使えば直接ミス率を計算できます。即ち 。
Q3: 小数の丸めはどう扱うべきか?
A3: 可能な限り正確に計算してから最後に必要に応じて四捨五入してください。今回のように は有効数字上も正確です。
A3: 可能な限り正確に計算してから最後に必要に応じて四捨五入してください。今回のように は有効数字上も正確です。
関連キーワード: キャッシュ、ヒット率、実効アクセス時間、ミスレート、加重平均、ミスペナルティ

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

