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

選択肢
ア:A, B, C, D
イ:A, D, B, C(正解)
ウ:C, D, A, B
エ:D, C, A, B
🔒 解説は解答すると表示されます
主記憶の実効アクセス時間の比較【午前解説】
正解の理由
正解: イ
各行の「実効アクセス時間(EAT)」を次の式で求めます。
(キャッシュがない場合は )
(キャッシュがない場合は )
各行の計算:
- A(キャッシュなし):
- B(キャッシュなし):
- C(キャッシュあり,,,):
- D(キャッシュあり,,,):
大小比較: となるため、短い順は A, D, B, C、選択肢はイが正しいです。
解法ステップ
- キャッシュの有無を確認する(有りなら 、無しなら )。
- キャッシュありの場合は式 を使い、ヒット率は小数で代入する。
- キャッシュなしは としてそのまま値を取る。
- 4つの EAT を数値で比較し、短い順に並べる。
- 並びと一致する選択肢を選ぶ。
選択肢別の誤答解説
- ア: A, B, C, D — B と C の順序が逆。C の実効時間はキャッシュ有りだがミスにより主記憶時間が加わるため B(30) < C(48) が正しい。
- イ: A, D, B, C — 正解。上で示した EAT の比較による。
- ウ: C, D, A, B — C が最短と誤認しているが、C はキャッシュミスの影響で 48ns と長い。
- エ: D, C, A, B — D は短いが A(15ns) の方がさらに短い。A を見落としているパターン。
よくある誤解
- 誤解1:ミス時のアクセス時間を「主記憶の時間のみ」として計算し、キャッシュアクセス時間を足さない。実際はミスでもまずキャッシュ参照で時間がかかります。
- 誤解2:ヒット率を誤って百分率のまま計算に使わず、0.6 を 60 と扱うミス。割合は小数で扱うこと。
- 誤解3:キャッシュ時間だけで比較して、主記憶まで含めた実効時間を比較しないため誤った序列になる。
補足コラム
- 式の由来:CPU はまずキャッシュを参照するため、ヒット時はキャッシュ時間 、ミス時はキャッシュ参照時間に加え主記憶参照時間 が必要です。平均すると になります。
- 実務視点:キャッシュの有効性は単にキャッシュアクセスが速いだけでなくヒット率と主記憶の遅さのバランスで決まります。ヒット率向上のための設計(容量、連想度、置換アルゴリズム)は重要です。
FAQ
Q1: 「」とする教科書もありますがどちらが正しいですか?
A1: 厳密にはプロセッサはまずキャッシュを参照するためオンミスでもキャッシュアクセス時間が発生します。よって通常は を使います。問題文の想定もこの式です。
A1: 厳密にはプロセッサはまずキャッシュを参照するためオンミスでもキャッシュアクセス時間が発生します。よって通常は を使います。問題文の想定もこの式です。
Q2: ヒット率はパーセント表記のまま使ってよいですか?
A2: いいえ。計算では を のような小数で扱ってください。パーセントのまま掛けると桁が大きくなり誤ります。
A2: いいえ。計算では を のような小数で扱ってください。パーセントのまま掛けると桁が大きくなり誤ります。
Q3: キャッシュがない場合の扱いは?
A3: キャッシュがない行は単に主記憶アクセス時間がそのまま実効アクセス時間になります()。
A3: キャッシュがない行は単に主記憶アクセス時間がそのまま実効アクセス時間になります()。
関連キーワード: キャッシュ, 有効アクセス時間, EAT, ヒット率, ミス率, 主記憶アクセス時間, キャッシュメモリ, アクセス時間

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

