基本情報技術者 2014年 秋期 午前(科目A) 問11
問題文
A~Dを、主記憶の実効メモリアクセス時間が短い順に並べたものはどれか。

選択肢
ア:A, B, C, D
イ:A, D, B, C(正解)
ウ:C, D, A, B
エ:D, C, A, B
🔒 解説は解答すると表示されます
実効メモリアクセス時間の比較【午前解説】
正解の理由
正解: イ
キャッシュがある場合の実効アクセス時間(EAT)は、ヒットしたときはキャッシュのアクセス時間、ミスしたときは主記憶のアクセス時間がかかると考え、ヒット率 で重み付けした平均として求めます。
A はキャッシュなしで15ns、B は30ns、C と D は式で求めると C が40ns、D が17ns です。A(15) < D(17) < B(30) < C(40) なので、短い順は A, D, B, C です。
キャッシュがある場合の実効アクセス時間(EAT)は、ヒットしたときはキャッシュのアクセス時間、ミスしたときは主記憶のアクセス時間がかかると考え、ヒット率 で重み付けした平均として求めます。
A はキャッシュなしで15ns、B は30ns、C と D は式で求めると C が40ns、D が17ns です。A(15) < D(17) < B(30) < C(40) なので、短い順は A, D, B, C です。
解法ステップ
- キャッシュの有無を確認し、キャッシュが無ければ EAT = 主記憶のアクセス時間とする。
- キャッシュがある場合は を使う( は0〜1の割合)。
- 各行について数値を代入して EAT を求める。
- EAT の小さい順に並べ、選択肢と照合する。
(計算)
- A:キャッシュ無し → EAT = 15 ns
- B:キャッシュ無し → EAT = 30 ns
- C: → ns
- D: → ns
順序:A(15) → D(17) → B(30) → C(40) → 選択肢は イ
選択肢別の誤答解説
- ア: A, B, C, D
D(17ns) は B(30ns) より短いので、B を2番目にしている点が誤りです。 - イ: A, D, B, C(正解)
実効アクセス時間を正しく計算して並べた順序です。 - ウ: C, D, A, B
C の実効アクセス時間(40ns)は4つの中で最も長く、最短ではありません。 - エ: D, C, A, B
D より A(15ns) の方が短く、C は最も長いので誤りです。
よくある誤解
- ヒット率を百分率のまま代入してしまう(例:60をそのまま使う)。式では割合(0.6)で扱います。
- 「キャッシュがあれば必ず速い」と考える誤り。C のように主記憶が遅く(70ns)ヒット率が低い(60%)と、キャッシュの無い B(30ns)より遅くなります。
- キャッシュのアクセス時間だけで比べてしまい、ミスしたときの主記憶のアクセス時間を考えない誤り。
補足コラム
- 実効アクセス時間の式 は、「ヒットした割合 のアクセスはキャッシュの時間、残り のアクセスは主記憶の時間がかかる」という平均の考え方です。試験ではこの式を使います。
- 実システムではタグの照合時間や複数レベルのキャッシュ、書込み方式によって評価が複雑になりますが、基本問題では上記の式で扱います。
FAQ
Q1. ヒット率が高ければ常にキャッシュが有利ですか?
A1. キャッシュのアクセス時間が主記憶より短ければ、ヒット率が高いほど実効アクセス時間は短くなります。ただし、キャッシュの無い別の構成(本問の A や B)と比べるときは、主記憶の速さも含めて計算して比べる必要があります。
A1. キャッシュのアクセス時間が主記憶より短ければ、ヒット率が高いほど実効アクセス時間は短くなります。ただし、キャッシュの無い別の構成(本問の A や B)と比べるときは、主記憶の速さも含めて計算して比べる必要があります。
Q2. 複数レベルのキャッシュがある場合の扱いは?
A2. 1次キャッシュでミスした分が2次キャッシュへ、そこでもミスした分が主記憶へ、と順に考えて、各レベルのアクセス時間をそれぞれの割合で重み付けします。
A2. 1次キャッシュでミスした分が2次キャッシュへ、そこでもミスした分が主記憶へ、と順に考えて、各レベルのアクセス時間をそれぞれの割合で重み付けします。
関連キーワード: キャッシュメモリ、実効アクセス時間、EAT、ヒット率、キャッシュミス、主記憶、アクセス時間、メモリ階層

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

