キャッシュメモリの実効アクセス時間はどう比べる?
基本情報技術者試験 平成31年度春期 午前 問10 / コンピュータ構成要素 › メモリ
過去問にチャレンジ
A~Dを,主記憶の実効アクセス時間が短い順に並べたものはどれか。

- ア
A,B,C,D
- イ
A,D,B,C
- ウ
C,D,A,B
- エ
D,C,A,B
会話形式の解説
講師まずキャッシュの有無を分けて考えます。キャッシュがある構成は、ヒット時とミス時の時間をそれぞれの発生率で重み付けします。
受験者Dはキャッシュのアクセス時間が10ナノ秒で、ヒット率も90%です。Aの15ナノ秒より短そうです。
講師Dでは残りの10%で、80ナノ秒かかります。実効アクセス時間は10×0.9+80×0.1=17ナノ秒です。
受験者ヒット時の9ナノ秒分とミス時の8ナノ秒分を足すのですね。Aの15ナノ秒のほうが短いです。
講師そのとおりです。AとBにはキャッシュがないので、表の主記憶のアクセス時間をそのまま使います。Aは15ナノ秒、Bは30ナノ秒です。
受験者Cはヒット率60%なので、ミスは40%ですね。20ナノ秒と70ナノ秒をその割合で計算しますか。
講師はい。Cは20×0.6+70×0.4=40ナノ秒です。四つの値がそろいました。
受験者短い順は15、17、30、40ナノ秒です。つまりA、D、B、Cの並びです。
講師正解です。A、B、C、Dの並びは、30ナノ秒のBを17ナノ秒のDより前に置くため誤りです。
受験者Cから始まる並びも、Cが40ナノ秒で最も長いので違いますね。
講師そうです。D、C、A、Bの並びも、DをAより前に、CをBより前に置いていますが、どちらも計算結果と逆です。
受験者キャッシュがあるかどうかだけで順番を決めず、各構成の実効アクセス時間を出してから比べればよいのですね。
講師はい。ヒット率を小数に直し、ミスの発生率を1からヒット率を引いて求めると、計算を整理できます。
まとめ
キャッシュがないAとBの実効アクセス時間は、それぞれ15ナノ秒と30ナノ秒です。キャッシュがあるCとDはヒット時とミス時を重み付けして計算し、それぞれ40ナノ秒と17ナノ秒になります。短い順はA、D、B、Cなので、正解はイです。
解答・解説
正解はイです
この問題のテーマ
キャッシュメモリのヒット率を考慮して、主記憶の実効アクセス時間を比較する問題です。
解き方の考え方
キャッシュがないAとBの実効アクセス時間は、表にある主記憶のアクセス時間そのもので、それぞれ15ナノ秒と30ナノ秒です。キャッシュがある場合は、ヒット時とミス時の時間をそれぞれの発生率で重み付けします。Cは20×0.6+70×0.4=40ナノ秒、Dは10×0.9+80×0.1=17ナノ秒です。4つの値を短い順に並べると、A、D、B、Cになります。
選択肢ごとの解説
- ×ア A,B,C,DA、B、C、Dの順では、BをDより前に置いています。しかし、Bは30ナノ秒、Dは17ナノ秒なので、Dのほうが先です。
- ○イ A,D,B,CA、D、B、Cの順は、15、17、30、40ナノ秒という計算結果の小さい順と一致します。したがって、この並びが正解です。
- ×ウ C,D,A,BC、D、A、Bの順では、Cを最初に置いています。しかし、Cは40ナノ秒で4つの中で最も長いため、最初にはなりません。
- ×エ D,C,A,BD、C、A、Bの順では、DをAより前に、CをBより前に置いています。実際にはAの15ナノ秒がDの17ナノ秒より短く、Bの30ナノ秒もCの40ナノ秒より短いです。
POINT
- キャッシュがない場合は、主記憶のアクセス時間をそのまま使います。
- ヒット率を小数に直し、ミスの発生率は1からヒット率を引いて求めます。
- 実効アクセス時間を数値で求めてから、大小を比較します。
